답안 #43782

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
43782 2018-03-23T17:59:15 Z PowerOfNinjaGo 곤돌라 (IOI14_gondola) C++14
25 / 100
25 ms 2020 KB
//Power Of Ninja Go
#include <bits/stdc++.h>
#ifdef atom
    #include "grader.cpp"
#else
    #include "gondola.h"
#endif
using namespace std;
typedef long long ll; typedef pair<int, int> ii;
#define X first
#define Y second
#define vi vector<int>
#define vii vector< ii >
#define pb push_back
int valid(int n, int arr[])
{
    vi vec;
    for(int i = 0; i< n; i++) vec.pb(arr[i]);
    sort(vec.begin(), vec.end()); vec.resize(unique(vec.begin(), vec.end())-vec.begin());
    if(vec.size() != n) return 0;
    for(int i = 0; i< n; i++) arr[i]--;
    vi tmp;
    for(int i = 0; i< n; i++) if(arr[i]< n) tmp.pb((arr[i]-i+n)%n);
    sort(tmp.begin(), tmp.end()); tmp.resize(unique(tmp.begin(), tmp.end())-tmp.begin());
    return (tmp.size()<= 1);
}
int replacement(int n, int arr[], int ans[])
{
    for(int i = 0; i< n; i++) arr[i]--;
    vi tmp;
    for(int i = 0; i< n; i++) if(arr[i]< n) tmp.pb((arr[i]-i+n)%n);
    sort(tmp.begin(), tmp.end()); tmp.resize(unique(tmp.begin(), tmp.end())-tmp.begin());
    int q = tmp.size();
    int st = q?tmp[0]:0;
    vii strange;
    for(int i = 0; i< n; i++) if(arr[i]>= n) strange.pb(ii(arr[i], (i+st)%n));
    sort(strange.begin(), strange.end());
    int ptr = 0;
    for(int i = 0; i< strange.size(); i++)
    {
        //printf("%d %d\n", strange[i].X, strange[i].Y);
        int prv = i?strange[i-1].X:n-1;
        int rounds = strange[i].X-prv;
        rounds--;
        ans[ptr++] = strange[i].Y+1;
        while(rounds--)
        {
            ans[ptr] = n+ptr-1;
            ptr++;
        }
    }
    return ptr;
}

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

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

Compilation message

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:20:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(vec.size() != n) return 0;
                   ^
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:39:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0; i< strange.size(); i++)
                     ^
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 1 ms 352 KB Output is correct
3 Correct 1 ms 424 KB Output is correct
4 Correct 1 ms 496 KB Output is correct
5 Correct 2 ms 512 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 512 KB Output is correct
2 Correct 2 ms 512 KB Output is correct
3 Correct 1 ms 516 KB Output is correct
4 Correct 1 ms 548 KB Output is correct
5 Correct 1 ms 548 KB Output is correct
6 Correct 11 ms 1184 KB Output is correct
7 Correct 19 ms 1440 KB Output is correct
8 Correct 15 ms 1820 KB Output is correct
9 Correct 7 ms 1820 KB Output is correct
10 Correct 23 ms 1996 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1996 KB Output is correct
2 Correct 2 ms 1996 KB Output is correct
3 Correct 2 ms 1996 KB Output is correct
4 Correct 1 ms 1996 KB Output is correct
5 Correct 1 ms 1996 KB Output is correct
6 Correct 10 ms 1996 KB Output is correct
7 Correct 21 ms 1996 KB Output is correct
8 Correct 15 ms 1996 KB Output is correct
9 Correct 7 ms 1996 KB Output is correct
10 Correct 21 ms 2020 KB Output is correct
11 Correct 1 ms 2020 KB Output is correct
12 Correct 1 ms 2020 KB Output is correct
13 Correct 13 ms 2020 KB Output is correct
14 Correct 1 ms 2020 KB Output is correct
15 Correct 25 ms 2020 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2020 KB Output is correct
2 Correct 2 ms 2020 KB Output is correct
3 Correct 1 ms 2020 KB Output is correct
4 Correct 2 ms 2020 KB Output is correct
5 Correct 1 ms 2020 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2020 KB Output is correct
2 Correct 2 ms 2020 KB Output is correct
3 Correct 1 ms 2020 KB Output is correct
4 Correct 1 ms 2020 KB Output is correct
5 Correct 2 ms 2020 KB Output is correct
6 Incorrect 1 ms 2020 KB Output isn't correct
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2020 KB Output is correct
2 Correct 1 ms 2020 KB Output is correct
3 Correct 1 ms 2020 KB Output is correct
4 Correct 1 ms 2020 KB Output is correct
5 Correct 1 ms 2020 KB Output is correct
6 Incorrect 1 ms 2020 KB Output isn't correct
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 2020 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2020 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2020 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2020 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -