답안 #843649

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
843649 2023-09-04T10:43:21 Z Warinchai 곤돌라 (IOI14_gondola) C++14
25 / 100
33 ms 5204 KB
#include "gondola.h"
#include<bits/stdc++.h>
using namespace std;
int valid(int n, int s[])
{
    map<int,int>mp;
    int prev=0,count=0;
    int first=0;
    int mn=INT_MAX;
    int idm=0;
    for(int i=0;i<n;i++){
        mp[s[i]]++;
        if(mp[s[i]]>1){
            return 0;
        }
        if(s[i]<=n){
            if(first==0){
                first=s[i];
            }
            if(s[i]<mn){
                mn=s[i];
                idm=i;
            }
            if(s[i]<prev){
                count++;
            }
            prev=s[i];
        }
    }
    if(first<prev){
        count++;
    }
    if(count>1){
        return 0;
    }
    for(int i=idm;i<idm+n&&first+i-idm<=n;i++){
        int id=i%n;
        if(s[id]<=n){
            if(s[id]!=mn+i-idm){
                return 0;
            }
        }
    }
    return 1;
}

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

int replacement(int n, int seq[], int re[])
{
    int mn=INT_MAX,id=0;
    for(int i=0;i<n;i++){
        if(seq[i]<mn&&seq[i]<=n){
            id=i;
            mn=seq[i];
        }
    }
    vector<pair<int,int> >v;
    for(int i=id;i<id+n;i++){
        int ci=i-id+mn;
        if(ci>n){
            ci-=n;
        }
        if(seq[i%n]>ci){
            v.push_back({seq[i%n],ci});
        }
    }
    sort(v.begin(),v.end());
    int cur=n+1;
    int curid=0;
    int l=0;
    for(int i=0;i<v.size();i++){
        int st=v[i].second;
        int en=v[i].first;
        re[curid]=st;
        curid++;
        l++;
        for(;cur<en;cur++){
            re[curid]=cur;
            curid++;
            l++;
        }
    }
    return l;
}

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

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

Compilation message

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:72:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   72 |     for(int i=0;i<v.size();i++){
      |                 ~^~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 600 KB Output is correct
3 Correct 0 ms 444 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 444 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 10 ms 2340 KB Output is correct
7 Correct 11 ms 1132 KB Output is correct
8 Correct 20 ms 4444 KB Output is correct
9 Correct 6 ms 1592 KB Output is correct
10 Correct 23 ms 4944 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 10 ms 2392 KB Output is correct
7 Correct 6 ms 1112 KB Output is correct
8 Correct 19 ms 4440 KB Output is correct
9 Correct 6 ms 1624 KB Output is correct
10 Correct 23 ms 5056 KB Output is correct
11 Correct 1 ms 444 KB Output is correct
12 Correct 0 ms 440 KB Output is correct
13 Correct 13 ms 2332 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 33 ms 5204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 1 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 596 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 444 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -