Submission #922928

#TimeUsernameProblemLanguageResultExecution timeMemory
922928allin27x곤돌라 (IOI14_gondola)C++17
20 / 100
29 ms4768 KiB
#include <bits/stdc++.h> using namespace std; #include "gondola.h" int valid(int n, int S[]){ set<int> s; for(int i=0; i<n; i++) s.insert(S[i]); if (s.size()<n) return 0; int ind = -1; for (int i=0; i<n; i++) if (S[i] <= n) {ind = i; break;} if (ind == -1) return 1; int t = S[ind]; for (int i=ind+1; i!=ind; i++, i%=n){ t++; if (t==n+1) t = 1; if (S[i] <= n && S[i] != t) return 0; } return 1; } int replacement(int n, int S[], int replacementSeq[]){ int ind = -1; for (int i=0; i<n; i++) if (S[i] <= n) {ind = i; break;} int bg = -1; map<int,int> tr; if (ind == -1){ for (int i=0; i<n; i++){ tr[S[i]] = i+1; bg= max(bg,S[i]); } } else { int t = S[ind]; for (int i=(ind+1)%n; i!=ind; i++, i%=n){ t++; if (t==n+1) t = 1; if (S[i] > n) {tr[S[i]] = t; bg=max(bg,S[i]);} } } cout<<bg<<' '; if (bg==-1) return 0; int bgm = tr[bg]; tr.erase(bg); for (int i=n+1; i<=bg; i++){ if (tr.count(i)){ replacementSeq[i-(n+1)] = tr[i]; } else { replacementSeq[i-(n+1)] = bgm; bgm = i; } } return (bg-(n+1) + 1); } int countReplacement(int n, int inputSeq[]){ return 0; } // int main(){ // int n; cin>>n; // int S[1000]; // for (int i=0; i<n; i++) cin>>S[i]; // int ans[1000]; // int k = replacement(n,S,ans); // for (int i=0; i<k; i++) cout<<ans[i]<<' '; // }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:6:65: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    6 |  set<int> s; for(int i=0; i<n; i++) s.insert(S[i]); if (s.size()<n) return 0;
      |                                                         ~~~~~~~~^~
#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...