Submission #396902

#TimeUsernameProblemLanguageResultExecution timeMemory
396902definitelynotmeeGondola (IOI14_gondola)C++98
20 / 100
23 ms4656 KiB
#include <bits/stdc++.h> #include "gondola.h" #define mp make_pair #define mt make_tuple #define ff first #define ss second using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll; const ll INFL = (1LL<<62)-1; const int INF = (1<<30)-1; const int MAXN = 0; int valid(int n, int v[]){ int cur = -1; unordered_set<int> s; for(int i = 0; i < n; i++){ if(s.count(v[i])) return 0; s.insert(v[i]); if(cur==-1){ if(v[i] <= n) cur = v[i]; } if(cur!=-1){ if(v[i] <= n){ if(cur!=v[i]) return 0; } cur++; if(cur==n+1) cur-=n; } } return 1; } int replacement(int n, int v[], int resp[]){ int vproper[n]; int refid = -1, refv; int r; map<int,int> m; for(int i = 0; i < n; i++){ if(v[i] > n){ m.insert({v[i],i}); } else if(refid==-1){ refid = i; refv = v[i]-1; } } if(refid==-1){ refv = 0; refid = 0; } refid-=refv; for(int i = 0; i < n; i++){ vproper[i] = (i-refid+n)%n + 1; } int ptr = 0; for(int i = n+1; i <= m.empty() ? 0 : m.rbegin()->first; i++){ if(m.count(i)){ resp[ptr++] = vproper[m[i]]; vproper[m[i]] = i; m.erase(i); }else { resp[ptr++] = vproper[m.rbegin()->second]; vproper[m.rbegin()->second] = i; } } return ptr; } int countReplacement(int n, int v[]){ } /*int main(){ int n; cin >> n; int v[n]; int v2[n]; for(int i = 0; i < n; i++) cin >> v[i]; replacement(n,v,v2); }*/

Compilation message (stderr)

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:43:9: warning: unused variable 'r' [-Wunused-variable]
   43 |     int r;
      |         ^
gondola.cpp: In function 'int countReplacement(int, int*)':
gondola.cpp:77:1: warning: no return statement in function returning non-void [-Wreturn-type]
   77 | }
      | ^
#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...