Submission #31692

#TimeUsernameProblemLanguageResultExecution timeMemory
31692top34051Gondola (IOI14_gondola)C++14
55 / 100
26 ms6204 KiB
#include "gondola.h" #include<bits/stdc++.h> using namespace std; #define maxn 100005 int n,m,mx; int a[maxn], vis[250005]; map<int,int> s; int valid(int N, int p[]) { int i, x = 0, val; n = N; //Build for(i=0;i<n;i++) if(p[i]<=n) x = i; val = p[x]; for(i=0;i<n;i++) a[x] = val, x = (x+1)%n, val = val%n+1; //Check for(i=0;i<n;i++) if(p[i]<=n && a[i]!=p[i]) return 0; //Rep memset(vis,0,sizeof(vis)); for(i=0;i<n;i++) { if(vis[p[i]]) return 0; vis[p[i]] = 1; } return 1; } int replacement(int N, int p[], int res[]) { int i, x=-1, val; n = N; //Build for(i=0;i<n;i++) if(p[i]<=n) x = i; if(x==-1) val = 1, x = 0; else val = p[x]; for(i=0;i<n;i++) a[x] = val, x = (x+1)%n, val = val%n+1; //Check for(i=0;i<n;i++) { mx = max(mx,p[i]); if(p[i]>n) s[p[i]] = i; } m = 0; for(i=n+1;i<=mx;i++) { if(s.find(i)!=s.end()) res[m++] = a[s[i]], a[s[i]] = i, s.erase(s.find(i)); else if(s.size()>0) res[m++] = a[s.begin()->second], a[s.begin()->second] = i; else return 0; } return m; } int countReplacement(int N, int data[]) { }

Compilation message (stderr)

gondola.cpp: In function 'int countReplacement(int, int*)':
gondola.cpp:51:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
#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...