Submission #1026885

#TimeUsernameProblemLanguageResultExecution timeMemory
1026885MarwenElarbi곤돌라 (IOI14_gondola)C++17
40 / 100
47 ms6092 KiB
#include <bits/stdc++.h> #include "gondola.h" using namespace std; #define pb push_back #define se second #define fi first const int nax=5e5+5; const int MOD=1e9+9; int valid(int n, int inputSeq[]) { vector<pair<int,int>> tab; bool test=true; set<int> stt; for (int i = 0; i < n; ++i) { stt.insert(inputSeq[i]); } test&=(stt.size()==n); int cnt=-1e9; for (int i = 0; i < n; ++i) { if(inputSeq[i]<=n){ cnt=(inputSeq[i]-(i+1)+n)%n; } } if(cnt==-1e9) return test; for (int i = 0; i < n; ++i) { if(inputSeq[i]<=n){ if((inputSeq[i]-(i+1)+n)%n!=cnt) test=false; } } return test; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { for (int i = 0; i < n; ++i) { if(gondolaSeq[i]<=n){ } } } //---------------------- int countReplacement(int n, int inputSeq[]) { long long cur=1; set<int> st; if(!valid(n,inputSeq)) return 0; for (int i = 0; i < n; ++i) { st.insert(i); } for (int i = 0; i < n; ++i) { if(inputSeq[i]<=n) st.erase(inputSeq[i]); } if(st.size()==0) return 1; set<int> stt; for (int i = 0; i < n; ++i) { if(inputSeq[i]>n) stt.insert(inputSeq[i]); } int cnt=n; while(stt.size()){ //cout <<cnt<<endl; for (int i = cnt; i < *stt.begin()-1; ++i) { cur=(cur*1ll*(int)stt.size())%MOD; } cnt=*stt.begin(); stt.erase(*stt.begin()); } return cur; }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:18:22: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   18 |     test&=(stt.size()==n);
      |            ~~~~~~~~~~^~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:46:1: warning: no return statement in function returning non-void [-Wreturn-type]
   46 | }
      | ^
#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...