제출 #285640

#제출 시각아이디문제언어결과실행 시간메모리
285640amoo_safar곤돌라 (IOI14_gondola)C++17
40 / 100
29 ms1808 KiB
#include "gondola.h"

#include <bits/stdc++.h>
#define pb push_back

using namespace std;

int valid(int n, int a[]){
	vector<int> A, S;
	for(int i = 0; i < n; i++) A.pb(a[i]);
	sort(A.begin(), A.end());
	for(int i = 0; i + 1 < n; i++) if(A[i] == A[i + 1]) return 0;
	for(int i = 0; i < n; i++) if(a[i] <= n) S.pb((i - a[i] + n) % n);
	sort(S.begin(), S.end());
	for(int i = 0; i + 1 < (int) S.size(); i++) if(S[i] != S[i + 1]) return 0;
	return 1;
}

//----------------------

const int MX = 250010;
int replacement(int n, int a[], int ans[]){
	int L = (*max_element(a, a + n)) - n;
	vector<int> mk(MX, 0);
	for(int i = 0; i < n; i++)
		mk[a[i]] = 1;
	int idx = 0;
	return L;
}

//----------------------

const int Mod = 1e9 + 9;
int countReplacement(int n, int a[]){
	if(!valid(n, a)) return 0;
	vector<int> A, S;
	for(int i = 0; i < n; i++) A.pb(a[i]);
	sort(A.begin(), A.end());
	int mx = A.back();
	int res = 1;
	for(int i = n + 1; i < mx; i++){
		int idx = lower_bound(A.begin(), A.end(), i) - A.begin();
		if(A[idx] == i) continue;
		res = (1ll * res * (n - idx)) % Mod;
	}
	return res;
}

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

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:27:6: warning: unused variable 'idx' [-Wunused-variable]
   27 |  int idx = 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...