제출 #1368726

#제출 시각아이디문제언어결과실행 시간메모리
1368726JelaByteEngineer곤돌라 (IOI14_gondola)C++20
20 / 100
20 ms4692 KiB
#include <bits/stdc++.h>
#include "gondola.h"
#define ll long long
using namespace std;
vector <int> repl;
int valid (int n, int ins[])
{
	int prviidx=-1;
	set <int> s;
	for (int i=0; i<n; i++) s.insert(ins[i]);
	if ((int)s.size()<n) return 0;
	for (int i=0; i<n; i++)
	{
		if (ins[i]<=n)
		{
			prviidx=i;
			break;
		}
	}
	int trn=ins[prviidx];
	bool f=true;
	for (int i=prviidx+1; i<n; i++)
	{
		trn++;
		trn%=n;
		if (trn==0) trn=n;
		if (ins[i]!=trn && ins[i]<=n)
		{
			f=false;
			break;
		}
	}
	if (f) return 1;
	else return 0;
}
int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
	int prviidx=-1;
	for (int i=0; i<n; i++)
	{
		if (gondolaSeq[i]<=n)
		{
			prviidx=i;
			break;
		}
	}
	int prvibr=1;
	if (prviidx!=-1)
	{
		prvibr=(gondolaSeq[prviidx]-prviidx)%n;
		if (prvibr==0) prvibr=n;
	}
	vector <int> orig(n);
	for (int i=0; i<n; i++)
	{
		orig[i]=(prvibr+i)%n;
		if (orig[i]==0) orig[i]=n;
	}
	cout<<"original je: "<<endl;
	for (int i=0; i<n; i++) cout<<orig[i]<<" ";
	cout<<endl;
	set <pair<int, int>> fali;
	for (int i=0; i<n; i++)
	{
		if (gondolaSeq[i]>n) fali.insert({gondolaSeq[i], orig[i]});
	}
	int trn=n+1;
	int cnt=0;
	for (auto i: fali)
	{
		if (i.first>trn)
		{
			int donji=i.second;
			while (trn!=i.first+1)
			{
				replacementSeq[cnt]=donji;
				donji=trn;
				trn++;
				cnt++;
			}
		}
		else
		{
			replacementSeq[cnt]=i.second;
			cnt++;
		}
	}
	return cnt;
}
int countReplacement(int n, int inputSeq[])
{
  return -3;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…