QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#112608 | #6371. Half is Good | 8BQube# | ML | 942ms | 257620kb | C++14 | 1.7kb | 2023-06-12 15:41:26 | 2023-06-12 15:41:29 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
#define X first
#define Y second
#define pb push_back
#define ALL(v) v.begin(), v.end()
#define SZ(a) ((int)a.size())
unsigned int s;
unsigned int getNext() {
s = s ^ (s<<13);
s = s ^ (s>>17);
s = s ^ (s<<5);
return s;
}
const int N = 1e7 + 5;
int g[N];
int f(int x) { return g[x] = (g[x] == x ? x : f(g[x])); }
bool mg(int a, int b) {
a = f(a), b = f(b);
if (a == b) return false;
g[a] = b;
return true;
}
struct Edge { int a, b; ll c; int idx; };
unsigned int ans[N];
int main() {
ios::sync_with_stdio(0), cin.tie(0);
int n, m;
cin >> n >> m >> s;
vector<Edge> v;
for (int i = 0; i < m; i++) {
int a = getNext() % n;
int b = getNext() % n;
ll w = getNext() / 4;
w = w * getNext();
// cerr << a << " " << b << " " << w << endl;
v.pb({a, b, w, i});
}
// vector<int> dt(m);
// iota(ALL(dt), 0);
// sort(ALL(dt), [&](const auto &a, const auto &b) { return v[a].c < v[b].c; });
sort(ALL(v), [&](const auto &a, const auto &b) { return a.c < b.c; });
for (int i = 0; i < n; i++)
g[i] = i;
vector<int> cs;
int cnt = 0;
// for (auto idx : dt) {
// const auto &e = v[idx];
for (const auto &e : v) {
if (mg(e.a, e.b)) {
cnt++;
int idx = e.idx;
ans[idx >> 5] |= (1u << (idx & 31));
}
cs.pb(cnt);
}
int na = (m - 1) / 32 + 1;
for (int i = 0; i < na; i++)
cout << ans[i] << " \n"[i + 1 == na];
// cerr << cnt << " " << fixed << setprecision(5) << (double)cnt / m << endl;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 5508kb
input:
4 7 47
output:
72
result:
ok you found 2 edges (out of 2 edges)
Test #2:
score: 0
Accepted
time: 0ms
memory: 5464kb
input:
1 1 956091059
output:
0
result:
ok you found 0 edges (out of 0 edges)
Test #3:
score: 0
Accepted
time: 1ms
memory: 5444kb
input:
1 10 675265052
output:
0
result:
ok you found 0 edges (out of 0 edges)
Test #4:
score: 0
Accepted
time: 2ms
memory: 5524kb
input:
1 100 649558818
output:
0 0 0 0
result:
ok you found 0 edges (out of 0 edges)
Test #5:
score: 0
Accepted
time: 2ms
memory: 5548kb
input:
1 300 796656507
output:
0 0 0 0 0 0 0 0 0 0
result:
ok you found 0 edges (out of 0 edges)
Test #6:
score: 0
Accepted
time: 2ms
memory: 5496kb
input:
1 1000 570935698
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
result:
ok you found 0 edges (out of 0 edges)
Test #7:
score: 0
Accepted
time: 3ms
memory: 5568kb
input:
1 5000 374761337
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok you found 0 edges (out of 0 edges)
Test #8:
score: 0
Accepted
time: 1ms
memory: 5584kb
input:
1 10000 705177612
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok you found 0 edges (out of 0 edges)
Test #9:
score: 0
Accepted
time: 5ms
memory: 8284kb
input:
1 100000 900413157
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok you found 0 edges (out of 0 edges)
Test #10:
score: 0
Accepted
time: 29ms
memory: 16900kb
input:
1 300000 347539594
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok you found 0 edges (out of 0 edges)
Test #11:
score: 0
Accepted
time: 100ms
memory: 37164kb
input:
1 1000000 659451863
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok you found 0 edges (out of 0 edges)
Test #12:
score: 0
Accepted
time: 328ms
memory: 106524kb
input:
1 3000000 415743523
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok you found 0 edges (out of 0 edges)
Test #13:
score: 0
Accepted
time: 942ms
memory: 257620kb
input:
1 8000000 99180511
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok you found 0 edges (out of 0 edges)
Test #14:
score: 0
Accepted
time: 102ms
memory: 37016kb
input:
1 999999 929490215
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok you found 0 edges (out of 0 edges)
Test #15:
score: -100
Memory Limit Exceeded
input:
1 10000000 278474391