Submission #122801

#TimeUsernameProblemLanguageResultExecution timeMemory
122801brcodeGondola (IOI14_gondola)C++14
25 / 100
57 ms4728 KiB
#include <iostream> #include <algorithm> #include <map> #include <vector> #include "gondola.h" using namespace std; int arr[2500]; int valid(int n, int inputSeq[]){ map<int,int> m1; int holdmin = 1e9; int ind = 0; for(int i=0;i<n;i++){ if(m1[inputSeq[i]] == 1){ return 0; } if(inputSeq[i]<holdmin){ holdmin = inputSeq[i]; ind = i; } m1[inputSeq[i]] = 1; } for(int i=ind;i<n;i++){ if(inputSeq[i]<=n && inputSeq[i]!=holdmin){ return 0; } holdmin++; } if(ind == 0){ return 1; } for(int i=0;i<ind;i++){ if(inputSeq[i]<=n && inputSeq[i]!=holdmin){ // cout<<inputSeq[i]<<endl; return 0; } holdmin++; } return 1; } int replacement(int n, int gondolaSeq[], int replacementSeq[]){ int holdmin =1e9; int pos = 0; for(int i=0;i<n;i++){ if(gondolaSeq[i]<holdmin){ holdmin = gondolaSeq[i]; pos = i; } } vector<pair<int,int>> v1; if(holdmin == 1e9){ for(int i=0;i<n;i++){ v1.push_back(make_pair(gondolaSeq[i],i+1)); } }else{ int x = holdmin; for(int i=pos;i<n;i++){ if(gondolaSeq[i]>n){ v1.push_back(make_pair(gondolaSeq[i],x)); //cout<<gondolaSeq[i]<<" "<<x<<endl; } x++; if(x == n+1){ x = 1; } } for(int i=0;i<pos;i++){ if(gondolaSeq[i]>n){ v1.push_back(make_pair(gondolaSeq[i],x)); //cout<<gondolaSeq[i]<<" "<<x<<endl; } x++; if(x == n+1){ x = 1; } } } sort(v1.begin(),v1.end()); int start = n+1; int ind = 0; for(auto x:v1){ int curr = x.first; int val = x.second; for(int i=start;i<=curr;i++){ replacementSeq[ind] = val; val = i; ind++; } start = curr+1; } return ind; } int countReplacement(int n, int inputSeq[]){ return 0; } /*int main(){ int arr[8] = {5, 1, 2, 3, 4}; int arr2[45]; cout<<replacement(5,arr,arr2)<<endl; }*/
#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...