제출 #82205

#제출 시각아이디문제언어결과실행 시간메모리
82205luciocfDoktor (COCI17_doktor)C++14
50 / 100
17 ms908 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 6e3+10; int num[maxn], n; void get_30(void) { int ans = 0, ind1 = num[1], ind2 = num[2]; for (int l = 1; l <= n; l++) { for (int r = l; r <= n; r++) { int aux = 0; for (int i = l; i <= r; i++) { int x = i-l; if (num[i] == r-x) aux++; } if (aux > ans) { ans = aux; ind1 = num[l], ind2 = num[r]; } } } cout << ind1 << " " << ind2 << "\n"; } void get_60(void) { int ans = 0, ind1 = num[1], ind2 = num[2]; for (int i = 1; i <= n; i++) { if (num[i] < i) continue; int aux = 0; for (int j = i; j <= num[i]; j++) if (num[j]+j == num[i]+i) aux++; if (aux >= ans) { ans = aux; ind1 = num[i], ind2 = num[num[i]]; } } for (int i = 1; i <= n; i++) { if (num[i] > i) continue; int aux = 0; for (int j = num[i]; j <= i; j++) if (num[j]+j == num[i]+i) aux++; if (aux >= ans) { ans = aux; ind1 = num[num[i]], ind2 = num[i]; } } cout << ind1 << " " << ind2 << "\n"; } int main(void) { ios::sync_with_stdio(false); cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) cin >> num[i]; if (n <= 500) get_30(); else get_60(); }
#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...