Submission #473629

#TimeUsernameProblemLanguageResultExecution timeMemory
473629MamdouhNDoktor (COCI17_doktor)C++17
60 / 100
566 ms37568 KiB
#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 (stderr)

doktor.cpp:8:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    8 | main()
      | ^~~~
#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...