Submission #473167

# Submission time Handle Problem Language Result Execution time Memory
473167 2021-09-15T09:42:30 Z MamdouhN Doktor (COCI17_doktor) C++17
70 / 100
603 ms 34308 KB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"

map<pair<int,int>,int>idk;

main()
{
    int n;
    cin>>n;
    int ar[n];
    int doingnothing=0;
    for(int i=0;i<n;i++)
    {
        cin>>ar[i];
        if(ar[i]==i+1)doingnothing++;
        int x = min(ar[i]-1,i);
        int y = max(ar[i]-1,i);
        int dist = min(x - 0 , n - y-1);
        //cout<<x-dist<<" "<<y+dist<<endl;
        idk[{ x-dist , y+dist }]++;
    }
    int x = 0;
    pair<int,int>ans;
    for(auto v:idk)
    {
        if(v.second>x)
        {
            x = v.second;
            ans = v.first;
        }
    }
    x=0;
    int i=ans.first,j=ans.second;
    ans.first = ar[ans.first];
    ans.second = ar[ans.second];
    while(i<j)
    {
        swap(ar[i],ar[j]);
        i++;
        j--;
    }
    for(int i=0;i<n;i++)if(ar[i]==i+1)x++;
    if(x>doingnothing)cout<<ans.first<<" "<<ans.second<<endl;
    else cout<<"1 1"<<endl;
}

Compilation message

doktor.cpp:8:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    8 | main()
      | ^~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 460 KB Output is correct
2 Correct 2 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 724 KB Output is correct
2 Correct 101 ms 2620 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 60 ms 5060 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 603 ms 26680 KB Output is correct
2 Correct 169 ms 4272 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 272 ms 15660 KB Output is correct
2 Correct 312 ms 34308 KB Output is correct