제출 #922867

#제출 시각아이디문제언어결과실행 시간메모리
922867allin27x곤돌라 (IOI14_gondola)C++17
20 / 100
25 ms4744 KiB
#include <bits/stdc++.h>
using namespace std;
#include "gondola.h"

int valid(int n, int S[]){
	set<int> s; for(int i=0; i<n; i++) s.insert(S[i]); if (s.size()<n) return 0;
	int ind = -1;
	for (int i=0; i<n; i++) if (S[i] <= n) {ind = i; break;}
	if (ind == -1) return 1;
	int t = S[ind];
	for (int i=ind+1; i!=ind; i++, i%=n){
		t++; if (t==n+1) t = 1;
		if (S[i] <= n && S[i] != t) return 0;
	}
	return 1;
}



int replacement(int n, int S[], int replacementSeq[]){
	int ind = -1;
	for (int i=0; i<n; i++) if (S[i] <= n) {ind = i; break;}
	if (ind == -1) return 1;
	int t = S[ind];
	map<int,int> tr; int bg = -1;
	for (int i=ind+1; i!=ind; i++, i%=n){
		t++; if (t==n+1) t = 1;
		if (S[i] > n) {tr[S[i]] = t; bg=max(bg,S[i]);}
	}
	if (bg==-1) return 0;
	int bgm = tr[bg];
	for (int i=n+1; i<=bg; i++){
		if (tr.count(i)){
			replacementSeq[i-(n+1)] = tr[i];
		} else {
			replacementSeq[i-(n+1)] = bgm;
			bgm = i; tr[bg] = i;
		}
	}
	return (bg-(n+1) + 1);

}

int countReplacement(int n, int inputSeq[]){
	return 0;
}


// int main(){
// 	int S[] = {3,1,4};
// 	int ans[10];
// 	int k = replacement(3,S,ans);
// 	for (int i=0; i<k; i++) cout<<ans[i]<<' ';
// }

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

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:6:65: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    6 |  set<int> s; for(int i=0; i<n; i++) s.insert(S[i]); if (s.size()<n) return 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...