This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#define rep(i, a, b) for(int i=(a) ; i<=(b) ; ++i)
#define Task ""
using namespace std;
const int N=500001;
int a[N*2], n, f[N*2];
vector <int > center[N*2];
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
//freopen(Task".inp", "r", stdin);
//freopen(Task".out", "w", stdout);
cin >> n;
rep(i, 1, n) {
int u;
cin >> u;
int ii=2*i-1;
if(u==i) f[ii]=1;
int xx=2*u-1;
int c=(xx+ii)/2;
center[c].push_back(abs(c-ii));
a[ii]=u;
}
rep(i, 1, n*2-1) f[i]+=f[i-1];
int lef, rig, ans=0;
rep(i, 2, n*2-1) {
if(center[i].size()==0) continue;
sort(center[i].begin(), center[i].end());
rep(j, 0, center[i].size()-1) {
int r=center[i][j];
int xx=f[i-r-1]+f[n*2-1]-f[i+r]+j+1;
if(xx>ans) {
ans=xx;
lef=a[i-r], rig=a[i+r];
}
}
}
cout << lef << ' ' << rig;
return 0;
}
Compilation message (stderr)
doktor.cpp: In function 'int main()':
doktor.cpp:2:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
#define rep(i, a, b) for(int i=(a) ; i<=(b) ; ++i)
^
doktor.cpp:30:9: note: in expansion of macro 'rep'
rep(j, 0, center[i].size()-1) {
^~~
doktor.cpp:39:24: warning: 'rig' may be used uninitialized in this function [-Wmaybe-uninitialized]
cout << lef << ' ' << rig;
~~~~~~~~~~~~~~~~~~~^~~~~~
doktor.cpp:39:20: warning: 'lef' may be used uninitialized in this function [-Wmaybe-uninitialized]
cout << lef << ' ' << rig;
^~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |