Submission #466465

#TimeUsernameProblemLanguageResultExecution timeMemory
466465Carmel_Ab1Gondola (IOI14_gondola)C++17
20 / 100
21 ms1328 KiB
#include <bits/stdc++.h> using namespace std; typedef vector<int> vi; #include "gondola.h" //#include "grader.cpp" #define pb push_back #define all(x) x.begin(),x.end() #define print(x) {for(auto it:x){cout << it << " "; }cout << "\n";} int valid(int n, int inputSeq[]){ vi a(n); for(int i=0; i<n; i++) a[i]=inputSeq[i]; vi s(a); sort(all(s)); for(int i=0; i<n-1; i++) if(s[i]==s[i+1]) return 0; int f=-1; for(int i=0; i<n; i++) if(a[i]<=n) f=i; for(int i=0; i<n; i++) if(a[i]<=0) return 0; if(f==-1)return 1; for(int i=0,j=a[f]; i<n; j=((j%n) +1),i++){ int cur=a[(i+f)%n]; if(cur!=j && cur<=n) return 0; } return 1; } int replacement(int n, int a[], int rep[]){ vi ans,org(n+1); int f=-1; for(int i=0; i<n; i++) if(a[i]<=n) f=i; if(f==-1) for(int i=0; i<n; i++) org[i]=i+1; else for(int i=0,j=a[f]; i<n; j=((j%n) +1),i++){ int cur=a[(i+f)%n]; org[(i+f)%n]=j; } vector<pair<int,int>>s; for(int i=0; i<n; i++) s.push_back({a[i],i}); sort(all(s)); vector<bool>has(250001); for(int i=0; i<n; i++) has[a[i]]=1; for(int i=0,j=n+1; i<n; i++){ if(s[i].first<=n)continue; ans.pb(org[s[i].second]); while(!has[j]){ has[j]=1; ans.pb(j); j++; } } for(int i=0; i<ans.size(); i++) rep[i]=ans[i]; print(ans) return ans.size(); } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }

Compilation message (stderr)

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:46:17: warning: unused variable 'cur' [-Wunused-variable]
   46 |             int cur=a[(i+f)%n];
      |                 ^~~
gondola.cpp:66:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |     for(int i=0; i<ans.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...