답안 #7675

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
7675 2014-08-13T16:17:11 Z dohyun0324 곤돌라 (IOI14_gondola) C++
55 / 100
24 ms 6752 KB
#include "gondola.h"
#include<algorithm>
using namespace std;
int a[100010],ch[250010],visit[250010];
struct data
{
    int x,y;
    bool operator<(const data&r)const
    {
        return x<r.x;
    }
}arr[250010];
int valid(int n, int inputSeq[])
{
    int i,k=0;
    for(i=0;i<n;i++)
    {
        if(visit[inputSeq[i]]==1) return 0;
        visit[inputSeq[i]]=1;
        if(inputSeq[i]<=n) ch[inputSeq[i]]=i+1;
    }
    for(i=1;i<=n;i++)
    {
        if(ch[i]!=0 && k==0)
        {
            k=ch[i];
            continue;
        }
        if(k!=0)
        {
            k++;
            if(k>n) k=1;
        }
        if(ch[i]!=0 && k!=ch[i]) return 0;
    }
    return 1;
}

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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
    int s,i,big=0,k=1,w=0,top=0,pos=0,p=0;
    for(i=0;i<n;i++)
    {
        ch[gondolaSeq[i]]=1;
        if(gondolaSeq[i]<=n) visit[i]=1;
        if(big<gondolaSeq[i]) big=gondolaSeq[i];
        if(gondolaSeq[i]<=n) pos=i,p=gondolaSeq[i];
    }
    for(i=0;i<n;i++)
    {
        if(visit[i]==0)
        {
            top++;
            arr[top].x=gondolaSeq[i];
            arr[top].y=i;
        }
    }
    sort(arr+1,arr+top+1);
    if(p==0)
    {
        for(i=0;i<n;i++) a[i]=i+1;
    }
    else
    {
        for(i=pos;i<=pos+n-1;i++)
        {
            a[i%n]=p;
            p++;
            if(p==n+1) p=1;
        }
    }
    for(i=n+1;i<=big;i++)
    {
        if(ch[i]==0)
        {
            replacementSeq[w++]=a[arr[k].y];
            a[arr[k].y]=i;
        }
        else
        {
            replacementSeq[w++]=a[arr[k].y];
            a[arr[k].y]=i;
            k++;
        }
    }
    return w;
}

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

int countReplacement(int n, int inputSeq[])
{
  return -3;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 6752 KB Output is correct
2 Correct 0 ms 6752 KB Output is correct
3 Correct 0 ms 6752 KB Output is correct
4 Correct 0 ms 6752 KB Output is correct
5 Correct 0 ms 6752 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 6752 KB Output is correct
2 Correct 0 ms 6752 KB Output is correct
3 Correct 0 ms 6752 KB Output is correct
4 Correct 0 ms 6752 KB Output is correct
5 Correct 0 ms 6752 KB Output is correct
6 Correct 0 ms 6752 KB Output is correct
7 Correct 8 ms 6752 KB Output is correct
8 Correct 8 ms 6752 KB Output is correct
9 Correct 4 ms 6752 KB Output is correct
10 Correct 8 ms 6752 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 6752 KB Output is correct
2 Correct 0 ms 6752 KB Output is correct
3 Correct 0 ms 6752 KB Output is correct
4 Correct 0 ms 6752 KB Output is correct
5 Correct 0 ms 6752 KB Output is correct
6 Correct 4 ms 6752 KB Output is correct
7 Correct 12 ms 6752 KB Output is correct
8 Correct 8 ms 6752 KB Output is correct
9 Correct 4 ms 6752 KB Output is correct
10 Correct 16 ms 6752 KB Output is correct
11 Correct 0 ms 6752 KB Output is correct
12 Correct 0 ms 6752 KB Output is correct
13 Correct 8 ms 6752 KB Output is correct
14 Correct 0 ms 6752 KB Output is correct
15 Correct 8 ms 6752 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 6752 KB Output is correct
2 Correct 0 ms 6752 KB Output is correct
3 Correct 0 ms 6752 KB Output is correct
4 Correct 0 ms 6752 KB Output is correct
5 Correct 0 ms 6752 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 6752 KB Output is correct
2 Correct 0 ms 6752 KB Output is correct
3 Correct 0 ms 6752 KB Output is correct
4 Correct 0 ms 6752 KB Output is correct
5 Correct 0 ms 6752 KB Output is correct
6 Correct 0 ms 6752 KB Output is correct
7 Correct 0 ms 6752 KB Output is correct
8 Correct 0 ms 6752 KB Output is correct
9 Correct 0 ms 6752 KB Output is correct
10 Correct 0 ms 6752 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 6752 KB Output is correct
2 Correct 0 ms 6752 KB Output is correct
3 Correct 0 ms 6752 KB Output is correct
4 Correct 0 ms 6752 KB Output is correct
5 Correct 0 ms 6752 KB Output is correct
6 Correct 0 ms 6752 KB Output is correct
7 Correct 0 ms 6752 KB Output is correct
8 Correct 0 ms 6752 KB Output is correct
9 Correct 0 ms 6752 KB Output is correct
10 Correct 0 ms 6752 KB Output is correct
11 Correct 4 ms 6752 KB Output is correct
12 Correct 8 ms 6752 KB Output is correct
13 Correct 20 ms 6752 KB Output is correct
14 Correct 0 ms 6752 KB Output is correct
15 Correct 24 ms 6752 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 6752 KB Output isn't correct - Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 6752 KB Output isn't correct - Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 6752 KB Output isn't correct - Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 6752 KB Output isn't correct - Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -