답안 #521460

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
521460 2022-02-02T07:35:09 Z Rasoul006 Doktor (COCI17_doktor) C++17
10 / 100
1000 ms 11760 KB
#include <bits/stdc++.h>

#define endl "\n"

typedef long long ll;

using namespace std;

const int N = 1e6+5;
ll n , a[500009] , suf[500009] , pre[500009] ;
map < ll , ll > mp ;
int main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin >> n ;
    for(int i = 1 ; i <= n ; i++){
        cin >> a[i] ;
        if(a[i] == i){
            pre[i]++ ;
            suf[i]++ ; 
        }
    }
    for(int i = 1 ;i <= n ;i++){
        pre[i] += pre[i-1] ;
    }
    for(int i = n ;i >= 1 ; i--){
        suf[i] += suf[i + 1] ; 
    }
    ll mx = 0 ;
    pair < ll , ll > best =  {0 , 0} ;
    for(ll i = 1 ; i <= n ; i++){
        for(int j = i ; j <= n ; j++){
            ll l = i , r = j ;
            ll q = pre[n] - (pre[l - 1] + suf[r + 1] ) ;
    //        cout << l << " " << r << " " ;
    //        cout << pre[a[i] - 1] << " " << pre[n] - pre[r]<< endl ;
            while(r > l){
                q += (a[r] == l) + (a[l] == r) ;
                l++ , r-- ;
            }
            if(l == r){
                q += (a[r] == r) ;
            }
            if(q >= mx){
                mx = q ;
                best = {j , i} ;
            }
        }
    }
    cout << best.first << " "  << best.second ;
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 332 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Failed 0 ms 332 KB Checker failed - contact admins or jury
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Failed 5 ms 400 KB Checker failed - contact admins or jury
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 858 ms 368 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1074 ms 332 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1083 ms 332 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1094 ms 460 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1100 ms 2380 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1088 ms 11760 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1091 ms 6988 KB Time limit exceeded
2 Halted 0 ms 0 KB -