제출 #97832

#제출 시각아이디문제언어결과실행 시간메모리
97832dalgerokDoktor (COCI17_doktor)C++17
20 / 100
346 ms39748 KiB
#include<bits/stdc++.h> using namespace std; const int N = 5e5 + 5; int n, a[N], pref[N]; vector < pair < int, pair < int, int > > > q[2 * N]; int main(){ srand(time(nullptr)); ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin >> n; for(int i = 1; i <= n; i++){ cin >> a[i]; pref[i] = pref[i - 1] + (a[i] == i); } for(int i = 1; i <= n; i++){ int l = i, r = a[i]; if(l > r){ swap(l, r); } q[l + r].push_back(make_pair(pref[r] - pref[l - 1], make_pair(l, r))); } pair < int, pair < int, int > > ans = make_pair(pref[n], make_pair(1, 1)); for(int i = 1; i <= 2 * n; i++){ if(q[i].empty()){ continue; } sort(q[i].rbegin(), q[i].rend()); for(int j = 0; j < (int)q[i].size(); j++){ int l = q[i][j].second.first, r = q[i][j].second.second; int val = j + 1 + pref[n] - q[i][j].first; ans = max(ans, make_pair(val, q[i][j].second)); } } cout << a[ans.second.first] << " " << a[ans.second.second]; }

컴파일 시 표준 에러 (stderr) 메시지

doktor.cpp: In function 'int main()':
doktor.cpp:34:17: warning: unused variable 'l' [-Wunused-variable]
             int l = q[i][j].second.first,
                 ^
doktor.cpp:35:17: warning: unused variable 'r' [-Wunused-variable]
                 r = q[i][j].second.second;
                 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...