제출 #794741

#제출 시각아이디문제언어결과실행 시간메모리
794741aymanrsGondola (IOI14_gondola)C++14
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h>
const int MOD = 1e9+7;
long long binp(long long a, long long n){
	long long r = 1;
	while(n){
		if(n&1) r = r*a%MOD;
		a = a*a%MOD;
		n>>=1;
	}
	return r;
}
using namespace std;
int countReplacement(int n, int inputSeq[]){
	int p[n+1];
	fill(p, p+n+1, -1);
	vector<int> a;
	a.push_back(n);
	for(int i = 0;i < n;i++) {
		if(inputSeq[i] <= n) p[inputSeq[i]] = i;
		a.push_back(inputSeq[i]);
	}
	sort(a.begin(), a.end());
	for(int i = 1;i <= n;i++){
		if(p[i] == -1) continue;
		int pr = i == 1 ? n : i-1;
		if(p[pr] == -1) continue;
		if(p[pr] != (p[i]-1)%n) return 0;
	}
	long long ans = 1;
	for(int i = 1;i < a.size();i++){
		ans = ans*binp(int(a.size())-i+1, a[i]-a[i-1]-1)%MOD;
	}	
	return ans;
}

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

gondola.cpp: In function 'int countReplacement(int, int*)':
gondola.cpp:30:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |  for(int i = 1;i < a.size();i++){
      |                ~~^~~~~~~~~~
/usr/bin/ld: /tmp/cc6lLTPu.o: in function `main':
grader.cpp:(.text.startup+0xb6): undefined reference to `valid'
/usr/bin/ld: grader.cpp:(.text.startup+0x108): undefined reference to `countReplacement'
/usr/bin/ld: grader.cpp:(.text.startup+0x132): undefined reference to `replacement'
collect2: error: ld returned 1 exit status