Submission #70299

#TimeUsernameProblemLanguageResultExecution timeMemory
70299alenam0161Gondola (IOI14_gondola)C++17
10 / 100
18 ms876 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; int pos(int n,int rng[]){ return min_element(rng,rng+n)-rng; } int ds(int p,int i,int n){ return i<p ? n-p+i:i-p; } int valid(int n, int inputSeq[]) { int mn=pos(n,inputSeq); int mx=inputSeq[mn]; int se=mn; if(inputSeq[mn]>n)return 1; for(int j=1;j<n;++j){ mn++; if(mn==n)mn=0; if(inputSeq[mn]<=n&&inputSeq[mn]-inputSeq[se]!=ds(se,mn,n)){ return 0; } if(inputSeq[mn]<=n)mx=max(mx,inputSeq[mn]); } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { vector<pair<int,int>> vx; int p=pos(n,gondolaSeq); for(int i=0;i<n;++i){ if(gondolaSeq[i]>n){ vx.push_back({gondolaSeq[i],ds(p,i,n)}); } } sort(vx.begin(),vx.end()); int sz=0; for(auto to:vx){ int x=to.first; int st=to.second+1; if(st!=x){ replacementSeq[sz++]=st; } while(true){ n++; st=n; if(st<x) replacementSeq[sz++]=n; else break; } // cout<<x<< " "<<st<<endl; } return sz; } //---------------------- int countReplacement(int n, int inputSeq[]) { return 5; }
#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...