#include <bits/stdc++.h>
using namespace std;
#define MAXN 100100
int vet[MAXN], pos[MAXN], ans[MAXN], pre[MAXN];
pair<int,int> ans2[MAXN];
int main(){
int n;
cin >> n;
for(int i=1; i<=n; i++){
cin >> vet[i];
pos[vet[i]]=i;
}
if(n>5000){
cout << 1 << " " << 1 << endl;
return 0;
}
for(int i=1; i<=n; i++){
if(vet[i]==i){
pre[i]++;
}
pre[i]+=pre[i-1];
//cout << pre[i] << " ";
}
for(int i=1; i<=n; i++){
if(pos[i] == i){
ans[i] = pre[n];
ans2[i] = {i,i};
}
if(pos[i] < i){
int atual = 0;
for(int x = pos[i], u=0; x<=i; x++, u++){
if(vet[x]+u==vet[pos[i]]){
atual++;
}
}
ans2[i] = {i, vet[i]};
ans[i]=atual;
// antes
ans[i]+=pre[pos[i]-1];
//depois
ans[i]+=pre[n]-pre[i];
}
if(pos[i] > i){
int atual = 0;
for(int x = pos[i], u=0; x>=i; x--, u++){
if(vet[x]-u==vet[pos[i]]){
atual++;
}
}
ans2[i] = {vet[i], i};
ans[i]=atual;
//antes
ans[i]+=pre[i-1];
//depois
ans[i]+=pre[n]-pre[pos[i]];
}
}
int resp = 1;
int idx;
for(int i=1; i<=n; i++){
if(ans[i]>resp){
resp=ans[i];
idx = i;
}
}
cout << ans2[idx].first << " " << ans2[idx].second << endl;
}
Compilation message
doktor.cpp: In function 'int main()':
doktor.cpp:77:49: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
cout << ans2[idx].first << " " << ans2[idx].second << endl;
^~~~~~
# |
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 |
376 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
448 KB |
Output is correct |
2 |
Correct |
2 ms |
472 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
640 KB |
Output is correct |
2 |
Correct |
4 ms |
672 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
13 ms |
672 KB |
Output is correct |
2 |
Correct |
7 ms |
672 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
23 ms |
748 KB |
Output is correct |
2 |
Correct |
3 ms |
748 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
6 ms |
748 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
39 ms |
1212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
2 ms |
1212 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
3 ms |
1212 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |