Submission #964295

#TimeUsernameProblemLanguageResultExecution timeMemory
964295maxFedorchukGondola (IOI14_gondola)C++17
55 / 100
23 ms5332 KiB
#include <bits/stdc++.h> using namespace std; #include "gondola.h" int valid(int n, int inputSeq[]) { set < int > st; int p=0; for(int i=0;i<n;i++) { if(inputSeq[i]<=n) { p=(n+i-inputSeq[i])%n; } st.insert(inputSeq[i]); } if(st.size()!=n) { return 0; } for(int i=0;i<n;i++) { if(inputSeq[i]<=n) { if((n+i-inputSeq[i])%n!=p) { return 0; } } } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int ned_to_be[n],in=-1; for(int i=0;i<n;i++) { if(gondolaSeq[i]<=n) { ned_to_be[i]=gondolaSeq[i]; in=i; break; } } if(in!=-1) { int nd=ned_to_be[in]; for(int i=(in+1)%n;i!=in;i=(i+1)%n) { nd%=n; nd++; ned_to_be[i]=nd; } } else { for(int i=0;i<n;i++) { ned_to_be[i]=i+1; } } map < int , int > mp; int mx=0; for(int i=0;i<n;i++) { if(gondolaSeq[i]>mx) { mx=gondolaSeq[i]; in=i; } if(gondolaSeq[i]>n) { mp[gondolaSeq[i]]=ned_to_be[i]; } } int uk=0; for(int i=n+1;i<=mx;i++,uk++) { if(mp.find(i)==mp.end() || i==mx) { replacementSeq[uk]=ned_to_be[in]; ned_to_be[in]=i; } else { replacementSeq[uk]=mp[i]; } } return uk; } //---------------------- int countReplacement(int n, int inputSeq[]) { }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:20:17: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |     if(st.size()!=n)
      |        ~~~~~~~~~^~~
gondola.cpp: In function 'int countReplacement(int, int*)':
gondola.cpp:112:1: warning: no return statement in function returning non-void [-Wreturn-type]
  112 | }
      | ^
#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...