Submission #819663

#TimeUsernameProblemLanguageResultExecution timeMemory
819663kebineGondola (IOI14_gondola)C++17
25 / 100
33 ms5236 KiB
#include <bits/stdc++.h> #include "gondola.h" #define ll long long #define mod 1000000007 using namespace std; //~ int n; //~ int inputSeq[1000]; int replacement(int n, int inputSeq[], int replacementSeq[]){ int mn = INT_MAX; int id; map<int,int> cnt; for(int i = 0 ; i < n ; i++){ cnt[inputSeq[i]]++; if( cnt[inputSeq[i]] > 1 ) return 0; } for(int i = 0 ; i < n ; i++){ if( mn > inputSeq[i] ){ mn = inputSeq[i]; id = i; } } if( mn > n ) return 1; vector<int> v; mn--; id = (id-mn)%n+n; id %= n; for(int i = id ; i < n ; i++) v.push_back(inputSeq[i]); for(int i = 0 ; i < id ; i++) v.push_back(inputSeq[i]); priority_queue<pair<int,int>> pq; for(int i = 0 ; i < n ; i++){ pq.push({-v[i],i+1}); } int mx = *max_element(v.begin(),v.end()); if( mx == n ) return 0; int cur = n+1; int ti = 0; while(!pq.empty()){ int fufu = pq.top().second; while(cur <= -pq.top().first){ replacementSeq[ti] = fufu; fufu = cur; ti++; cur++; } pq.pop(); } //~ for(int i = 0; i < mx-n ; i++){ //~ cout<<replacementSeq[i]<<" "; //~ } //~ cout<<"\n"; return mx-n; } int countReplacement(int n, int inputSeq[]){ return 0; } int valid(int n,int inputSeq[]){ int mn = INT_MAX; int id; map<int,int> cnt; for(int i = 0 ; i < n ; i++){ cnt[inputSeq[i]]++; if( cnt[inputSeq[i]] > 1 ) return 0; } for(int i = 0 ; i < n ; i++){ if( mn > inputSeq[i] ){ mn = inputSeq[i]; id = i; } } if( mn > n ) return 1; vector<int> v; mn--; id = (id-mn)%n+n; id %= n; for(int i = id ; i < n ; i++) v.push_back(inputSeq[i]); for(int i = 0 ; i < id ; i++) v.push_back(inputSeq[i]); for(int i = 0 ; i < n ; i++){ if( v[i] <= n && v[i] != i+1 ) return 0; } return 1; } //~ int main(){ //~ ios_base::sync_with_stdio(false); //~ cin.tie(0); //~ cout.tie(0); //~ cin>>n; //~ for(int i = 0 ; i < n ; i++){ //~ cin>>inputSeq[i]; //~ } //~ int replacementSeq[1000]; //~ cout<<replacement(n,inputSeq,replacementSeq)<<"\n"; //~ }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:77:11: warning: 'id' may be used uninitialized in this function [-Wmaybe-uninitialized]
   77 |   id = (id-mn)%n+n;
      |        ~~~^~~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:27:11: warning: 'id' may be used uninitialized in this function [-Wmaybe-uninitialized]
   27 |   id = (id-mn)%n+n;
      |        ~~~^~~~
#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...