# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
80034 | 2018-10-18T11:05:18 Z | pzdba | Doktor (COCI17_doktor) | C++14 | 1000 ms | 132096 KB |
#include <bits/stdc++.h> using namespace std; typedef pair<int, int> pii; int a[500005]; int pref[500005], suff[500005]; map<int, map<int, int> > dp; map<int, map<int, pii> > dp2; map<int, map<int, int> >::iterator its2; map<int, int>::iterator its; int main(){ int n; scanf("%d", &n); for(int i=1;i<=n;i++){ scanf("%d", &a[i]); if(i == a[i]) pref[i] = 1; pref[i] += pref[i-1]; } for(int i=n;i>=1;i--){ if(i == a[i]) suff[i] = 1; suff[i] += suff[i+1]; } int ans = 0; for(int i=1;i<=n;i++){ int diff = a[i]-i; if(diff == 0) ans++; int s = 0, e = 0; if(diff < 0) s = i+diff, e = i; else s = i, e = i+diff; int le = e-s+1; diff += 2*i; dp[diff][le]++; dp2[diff][le] = pii(s, e); } int st = a[1], en = a[1]; for(its2 = dp.begin();its2 != dp.end();its2++){ int i = its2->first; int sum = 0; for(its = dp[i].begin();its != dp[i].end();its++){ sum += its->second; int s = dp2[i][its->first].first; int e = dp2[i][its->first].second; if(ans < sum + pref[s-1] + suff[e+1]){ ans = sum + pref[s-1] + suff[e+1]; st = s; en = e; } } } printf("%d %d\n", a[st], a[en]); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 592 KB | Output is correct |
2 | Correct | 3 ms | 640 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 1136 KB | Output is correct |
2 | Correct | 4 ms | 1136 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 1796 KB | Output is correct |
2 | Correct | 5 ms | 1796 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 1796 KB | Output is correct |
2 | Correct | 3 ms | 1796 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 17 ms | 3380 KB | Output is correct |
2 | Correct | 248 ms | 20944 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 220 ms | 24248 KB | Output is correct |
2 | Correct | 90 ms | 24248 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1082 ms | 118324 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 909 ms | 118324 KB | Output is correct |
2 | Runtime error | 444 ms | 132096 KB | Execution killed with signal 9 (could be triggered by violating memory limits) |