Submission #843649

#TimeUsernameProblemLanguageResultExecution timeMemory
843649WarinchaiGondola (IOI14_gondola)C++14
25 / 100
33 ms5204 KiB
#include "gondola.h" #include<bits/stdc++.h> using namespace std; int valid(int n, int s[]) { map<int,int>mp; int prev=0,count=0; int first=0; int mn=INT_MAX; int idm=0; for(int i=0;i<n;i++){ mp[s[i]]++; if(mp[s[i]]>1){ return 0; } if(s[i]<=n){ if(first==0){ first=s[i]; } if(s[i]<mn){ mn=s[i]; idm=i; } if(s[i]<prev){ count++; } prev=s[i]; } } if(first<prev){ count++; } if(count>1){ return 0; } for(int i=idm;i<idm+n&&first+i-idm<=n;i++){ int id=i%n; if(s[id]<=n){ if(s[id]!=mn+i-idm){ return 0; } } } return 1; } //---------------------- int replacement(int n, int seq[], int re[]) { int mn=INT_MAX,id=0; for(int i=0;i<n;i++){ if(seq[i]<mn&&seq[i]<=n){ id=i; mn=seq[i]; } } vector<pair<int,int> >v; for(int i=id;i<id+n;i++){ int ci=i-id+mn; if(ci>n){ ci-=n; } if(seq[i%n]>ci){ v.push_back({seq[i%n],ci}); } } sort(v.begin(),v.end()); int cur=n+1; int curid=0; int l=0; for(int i=0;i<v.size();i++){ int st=v[i].second; int en=v[i].first; re[curid]=st; curid++; l++; for(;cur<en;cur++){ re[curid]=cur; curid++; l++; } } return l; } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }

Compilation message (stderr)

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:72:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   72 |     for(int i=0;i<v.size();i++){
      |                 ~^~~~~~~~~
#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...