# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
248357 |
2020-07-12T09:40:40 Z |
VEGAnn |
Sirni (COCI17_sirni) |
C++14 |
|
5000 ms |
786436 KB |
#include <bits/stdc++.h>
#define ft first
#define sd second
#define sz(x) ((int)x.size())
#define all(x) x.begin(),x.end()
#define PB push_back
#define i2 array<int,2>
#define pis pair<int,short>
using namespace std;
typedef long long ll;
const int N = 100100;
const int BIG = int(1e7) + 10;
const int con = (1 << 10) - 1;
const int oo = 2e9;
int mrk[BIG];
vector<pis> edg;
vector<int> vc;
int n, nt[BIG], a[N];
ll ans = 0;
int get(int x) { return (x == nt[x] ? x : nt[x] = get(nt[x])); }
void calc(){
for (int i = BIG - 2; i > 0; i--)
if (mrk[i])
nt[i] = i;
else nt[i] = nt[i + 1];
for (int cr : vc){
int cm = mrk[cr];
int x = cr;
nt[get(x)] = get(x + 1);
for (int i = get(x); i < BIG - 1; ){
int nw = i % x;
edg.PB({(mrk[i] << 10) + (mrk[x] & con), (mrk[x] >> 10)});
if (nw == 0)
i += x;
else i += x - nw;
i = get(i);
}
}
}
bool cmp(pis _x, pis _y){
int x1 = (_x.ft >> 10), x2 = (_x.sd << 10) + (_x.ft & con);
int y1 = (_y.ft >> 10), y2 = (_y.sd << 10) + (_y.ft & con);
return (a[x1] % a[x2]) < (a[y1] % a[y2]);
}
int main(){
ios_base::sync_with_stdio(0); cin.tie(0);
#ifdef _LOCAL
freopen("in.txt","r",stdin);
#endif // _LOCAL
cin >> n;
for (int i = 1; i <= n; i++){
int x; cin >> x;
a[i] = x;
mrk[x] = i;
}
int siz = 0;
for (int i = 1; i < BIG; i++)
if (mrk[i]) {
siz++;
vc.PB(i);
}
nt[BIG - 1] = BIG - 1;
calc();
sort(all(edg), cmp);
for (int cr : vc)
nt[cr] = cr;
for (pis _x : edg){
int x = (_x.ft >> 10), y = (_x.sd << 10) + (_x.ft & con);
x = a[x];
y = a[y];
int xx = get(x), yy = get(y);
if (xx == yy) continue;
ans += x % y;
nt[xx] = yy;
}
cout << ans << '\n';
return 0;
}
Compilation message
sirni.cpp: In function 'void calc()':
sirni.cpp:30:13: warning: unused variable 'cm' [-Wunused-variable]
int cm = mrk[cr];
^~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1685 ms |
786436 KB |
Execution killed with signal 9 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
81 ms |
39676 KB |
Output is correct |
2 |
Runtime error |
1515 ms |
786436 KB |
Execution killed with signal 9 (could be triggered by violating memory limits) |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
3262 ms |
786436 KB |
Execution killed with signal 9 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
460 ms |
52584 KB |
Output is correct |
2 |
Correct |
1600 ms |
77128 KB |
Output is correct |
3 |
Correct |
624 ms |
60672 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
134 ms |
45804 KB |
Output is correct |
2 |
Correct |
909 ms |
76092 KB |
Output is correct |
3 |
Correct |
467 ms |
50536 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
982 ms |
77180 KB |
Output is correct |
2 |
Correct |
2066 ms |
109988 KB |
Output is correct |
3 |
Correct |
590 ms |
60776 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
190 ms |
44904 KB |
Output is correct |
2 |
Correct |
1923 ms |
109916 KB |
Output is correct |
3 |
Correct |
567 ms |
60760 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
5104 ms |
604852 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
4228 ms |
786436 KB |
Execution killed with signal 9 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
2047 ms |
786436 KB |
Execution killed with signal 9 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |