답안 #1029596

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1029596 2024-07-21T05:08:38 Z Malix 곤돌라 (IOI14_gondola) C++14
55 / 100
13 ms 2360 KB
#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vii;
typedef pair<int,int> pi;
typedef vector<pi> pii;
typedef tuple<int,int,int> tii;
typedef vector<ll> li;
typedef vector<li> lii;

#define REP(i,a,b) for(int i=a;i<b;i++)
#define F first
#define S second
#define PB push_back
#define MP make_pair
#define LSOne(s) ((s)&(-s))

ll INF=1e18+10;
int inf=1e9+10;
ll M=1e9+7;

int valid(int n, int inputSeq[])
{
  bool flag=1;
  int pos=0,val=inf;
  REP(i,0,n)if(inputSeq[i]<val){
    val=inputSeq[i];
    pos=i;
  }
  if(val>n){
    sort(inputSeq,inputSeq+n);
    REP(i,0,n-1)if(inputSeq[i]==inputSeq[i+1])flag=0;
    if(flag)return 1;
    return 0;
  }
  int c=pos;
  pos++;val++;
  pos%=n;val%=n;if(val==0)val=n;
  while(pos!=c){
    if(inputSeq[pos]!=val&&inputSeq[pos]<=n){
      flag=0;
      break;
    }
    pos++;val++;
    pos%=n;val%=n;if(val==0)val=n;
  }
  sort(inputSeq,inputSeq+n);
  REP(i,0,n-1)if(inputSeq[i]==inputSeq[i+1])flag=0;
  if(flag)return 1;
  return 0;
}

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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
  int pos=0,val=inf;
  REP(i,0,n)if(gondolaSeq[i]<val){
    val=gondolaSeq[i];
    pos=i;
  }
  priority_queue<pi,vector<pi>,greater<pi>> pq;
  int c=pos;pos%=n;val%=n;if(val==0)val=n;
  if(gondolaSeq[pos]!=val)pq.push({gondolaSeq[pos],val});
  pos++;val++;
  pos%=n;val%=n;if(val==0)val=n;
  while(pos!=c){
    if(gondolaSeq[pos]!=val)pq.push({gondolaSeq[pos],val});
    pos++;val++;
    pos%=n;val%=n;if(val==0)val=n;
  }
  vi ans;int k=n+1;
  while(!pq.empty()){
    int x=pq.top().F;
    int y=pq.top().S;
    pq.pop();
    ans.PB(y);
    REP(i,k,x)ans.PB(i);
    k=x+1;
  }
  int m=ans.size();
  REP(i,0,m)replacementSeq[i]=ans[i];
  return m;
}

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

int countReplacement(int n, int inputSeq[])
{
  return -3;
}
# 결과 실행 시간 메모리 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 440 KB Output is correct
# 결과 실행 시간 메모리 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 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 5 ms 804 KB Output is correct
7 Correct 10 ms 1116 KB Output is correct
8 Correct 7 ms 1116 KB Output is correct
9 Correct 4 ms 568 KB Output is correct
10 Correct 11 ms 1112 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 372 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 5 ms 716 KB Output is correct
7 Correct 10 ms 1116 KB Output is correct
8 Correct 7 ms 1100 KB Output is correct
9 Correct 3 ms 604 KB Output is correct
10 Correct 11 ms 1240 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 5 ms 604 KB Output is correct
14 Correct 1 ms 348 KB Output is correct
15 Correct 11 ms 1116 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 344 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 1 ms 348 KB Output is correct
4 Correct 0 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 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 344 KB Output is correct
10 Correct 1 ms 440 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 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 Correct 0 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 9 ms 1116 KB Output is correct
12 Correct 7 ms 1116 KB Output is correct
13 Correct 13 ms 1628 KB Output is correct
14 Correct 6 ms 1112 KB Output is correct
15 Correct 13 ms 2360 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 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 0 ms 348 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 -