제출 #254528

#제출 시각아이디문제언어결과실행 시간메모리
254528b00n0rp곤돌라 (IOI14_gondola)C++17
65 / 100
61 ms6008 KiB
#include "gondola.h" #include<bits/stdc++.h> using namespace std; #define ll long long int valid(int n, int inputSeq[]){ set<int> s; for(int i = 0; i < n; i ++){ s.insert(inputSeq[i]); } if(s.size() != n) return 0; for(int i = 0; i < n; i ++){ if(inputSeq[i] <= n){ for(int j = i+1; j != i; j = (j+1)%n){ if(inputSeq[j] > n) continue; if(inputSeq[j] != ((inputSeq[i]+(j-i)+n-1)%n)+1) return 0; } return 1; } } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { return -2; } //---------------------- const ll MOD = 1000000009; ll power(int x,int y){ if(y == 0) return 1; if(y == 1) return x; ll cur = power(x,y/2); cur = (cur*cur)%MOD; if(y%2) cur = (cur*x)%MOD; return cur; } int countReplacement(int n, int inputSeq[]){ if(!valid(n,inputSeq)) return 0; ll ans = 1; int cur = 0; vector<int> v; for(int i = 0; i < n; i ++){ if(inputSeq[i] <= n) continue; v.push_back(inputSeq[i]); } if(v.empty()) return 1; sort(v.begin(),v.end()); if(v.size() == n) ans = n; ans = (ans*power(v.size(),v[0]-n-1))%MOD; for(int i = 1; i < v.size(); i ++){ ans = (ans*power(v.size()-i,v[i]-v[i-1]-1))%MOD; } return ans; }

컴파일 시 표준 에러 (stderr) 메시지

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:12:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(s.size() != n) return 0;
     ~~~~~~~~~^~~~
gondola.cpp: In function 'int countReplacement(int, int*)':
gondola.cpp:56:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(v.size() == n) ans = n;
     ~~~~~~~~~^~~~
gondola.cpp:58:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 1; i < v.size(); i ++){
                 ~~^~~~~~~~~~
gondola.cpp:48:6: warning: unused variable 'cur' [-Wunused-variable]
  int cur = 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...