Submission #16357

# Submission time Handle Problem Language Result Execution time Memory
16357 2015-08-21T14:26:11 Z atomzeno Gondola (IOI14_gondola) C++
25 / 100
17 ms 7332 KB
#include "gondola.h"
int d[250001],check[250001];
int puting[250001],l,indi[250001],indian[250001],ind;
int valid(int n, int inputSeq[]){
    int i,cnt=0,ind;
    for(i=0;i<=250000;i++){
        check[i]=0;
    }
    for(i=0;i<n;i++){
        if(inputSeq[i]<=n){
            cnt=1;
            ind=(inputSeq[i]-1-i)+n;
            ind%=n;
            break;
        }
    }
    for(i=0;i<n;i++){
        check[inputSeq[i]]++;
        if(check[inputSeq[i]]>=2){return 0;}
    }
    if(cnt==0){return 1;}
    for(i=0;i<n;i++){
        d[(ind+i)%n]=inputSeq[i];
    }
    for(i=0;i<n;i++){
        if(d[i]<=n&&d[i]!=(i+1)){
            return 0;
        }
    }
    return 1;
}
int replacement(int n, int gondolaSeq[], int replacementSeq[]){
    l=0;
    int o=-1,i,op=0;
    ind=0;
    for(i=0;i<n;i++){
        if(gondolaSeq[i]<=n){
            ind=(gondolaSeq[i]-1-i)+n;
            ind%=n;
            op=1;
            break;
        }
    }
    if(op==1){
        for(i=0;i<n;i++){
            d[(ind+i)%n]=gondolaSeq[i];
        }
        for(i=0;i<=250000;i++){
            check[i]=0;
        }
        for(i=0;i<n;i++){
            check[d[i]]++;
            o=o>d[i]?o:d[i];
            indi[d[i]]=1;
            indian[d[i]]=i;
        }
        for(i=o;i>n;i--){
            if(indi[i]==0){continue;}
            if(indi[i-1]!=0){
                puting[l]=indian[i]+1;
                l++;
            }
            if(indi[i-1]==0){
                puting[l]=i-1;
                indi[i-1]=1;
                indian[i-1]=indian[i];
                l++;
            }
        }
        for(i=l-1;i>=0;i--){
            replacementSeq[i]=puting[l-i-1];
        }
        return l;
    }
    else{
        int h=1;
        for(i=o;i>n;i--){
            if(indi[i]==0){continue;}
            if(indi[i-1]!=0){
                puting[l]=h++;
                l++;
            }
            if(indi[i-1]==0){
                puting[l]=i-1;
                indi[i-1]=1;
                l++;
            }
        }
        for(i=l-1;i>=0;i--){
            replacementSeq[i]=puting[l-i-1];
        }
        return l;
    }
}

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

int countReplacement(int n, int inputSeq[]){
    return -3;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 7332 KB Output is correct
2 Correct 0 ms 7332 KB Output is correct
3 Correct 0 ms 7332 KB Output is correct
4 Correct 0 ms 7332 KB Output is correct
5 Correct 0 ms 7332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 7332 KB Output is correct
2 Correct 0 ms 7332 KB Output is correct
3 Correct 0 ms 7332 KB Output is correct
4 Correct 0 ms 7332 KB Output is correct
5 Correct 0 ms 7332 KB Output is correct
6 Correct 7 ms 7332 KB Output is correct
7 Correct 17 ms 7332 KB Output is correct
8 Correct 13 ms 7332 KB Output is correct
9 Correct 4 ms 7332 KB Output is correct
10 Correct 14 ms 7332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 7332 KB Output is correct
2 Correct 0 ms 7332 KB Output is correct
3 Correct 0 ms 7332 KB Output is correct
4 Correct 0 ms 7332 KB Output is correct
5 Correct 0 ms 7332 KB Output is correct
6 Correct 0 ms 7332 KB Output is correct
7 Correct 9 ms 7332 KB Output is correct
8 Correct 14 ms 7332 KB Output is correct
9 Correct 2 ms 7332 KB Output is correct
10 Correct 13 ms 7332 KB Output is correct
11 Correct 0 ms 7332 KB Output is correct
12 Correct 0 ms 7332 KB Output is correct
13 Correct 8 ms 7332 KB Output is correct
14 Correct 0 ms 7332 KB Output is correct
15 Correct 13 ms 7332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 7332 KB Output is correct
2 Correct 1 ms 7332 KB Output is correct
3 Correct 0 ms 7332 KB Output is correct
4 Correct 1 ms 7332 KB Output is correct
5 Correct 0 ms 7332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 7332 KB Output is correct
2 Correct 0 ms 7332 KB Output is correct
3 Correct 0 ms 7332 KB Output is correct
4 Correct 0 ms 7332 KB Output is correct
5 Correct 1 ms 7332 KB Output is correct
6 Correct 0 ms 7332 KB Output is correct
7 Correct 1 ms 7332 KB Output is correct
8 Incorrect 0 ms 7332 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 7332 KB Output is correct
2 Correct 1 ms 7332 KB Output is correct
3 Correct 0 ms 7332 KB Output is correct
4 Correct 0 ms 7332 KB Output is correct
5 Correct 1 ms 7332 KB Output is correct
6 Correct 0 ms 7332 KB Output is correct
7 Correct 0 ms 7332 KB Output is correct
8 Incorrect 0 ms 7332 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 7332 KB Output isn't correct - Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 7332 KB Output isn't correct - Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 7332 KB Output isn't correct - Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 7332 KB Output isn't correct - Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -