Submission #1276177

#TimeUsernameProblemLanguageResultExecution timeMemory
1276177KindaGoodGamesGondola (IOI14_gondola)C++20
45 / 100
24 ms6088 KiB
#include "gondola.h" #include<bits/stdc++.h> using namespace std; #define pii pair<int,int> int INF = 1e9; int valid(int n, int arr[]) { set<int> occ; for(int i = 0; i < n; i++){ if(occ.count(arr[i])){ return 0; } occ.insert(arr[i]); } pii mpos = {INF,INF}; for(int i = 0; i < n; i++){ mpos = min(mpos,{arr[i],i}); } int s = mpos.second; int cnt = 1; for(int i = 0; i < n; i++){ int p = (s+i)%n; if(arr[p] < n && cnt != arr[p]){ return 0; } cnt++; } return 1; } //---------------------- int replacement(int n, int arr[], int ans[]) { vector<int> original(n); pii mpos = {INF,INF}; for(int i = 0; i < n; i++){ mpos = min(mpos,{arr[i],i}); } if(mpos.first > n) { iota(original.begin(),original.end(),1); }else{ int s = mpos.second; int cnt = mpos.first-1; for(int i = 0; i < n; i++){ int p = (s+i)%n; original[p] = (cnt%n)+1; cnt++; } } priority_queue<pii, vector<pii>, greater<pii>> pq; int pt = 0; for(int i = 0; i < n; i++){ if(arr[i] <= n) continue; pq.push({arr[i],i}); } int cur = n; vector<int> order; while(pq.size()){ int v,p; tie(v,p) = pq.top(); pq.pop(); while(cur < v){ order.push_back(p); cur++; } } int nxt = n+1; for(auto p : order){ ans[pt++] = original[p]; original[p] = nxt++; } return pt; } //---------------------- int countReplacement(int n, int inputSeq[]) { return -1; }
#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...