답안 #582315

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
582315 2022-06-23T16:09:00 Z wdjpng 곤돌라 (IOI14_gondola) C++17
20 / 100
15 ms 1268 KB
#include "gondola.h"
#include <bits/stdc++.h>

#define int long long
#define rep(i,n) for(int i = 0; i < ((int) n); i++)
#define all(a) a.begin(), a.end()

using namespace std;
int N =1e5+1;

signed valid(signed n, signed inputSeq[])
{
  int minn = 251000, mini=-1;
  rep(i,n) if((int)inputSeq[i]<minn) {minn=inputSeq[i]; mini=i;}
  vector<int>x(n);
  rep(i,n) x[(i+minn-1+n)%n]=inputSeq[(i+mini)%n];
  rep(i,n) if(x[i]!=i+1&&x[i]<=n) return 0;
  vector<int>doub;
  rep(i,n) if(x[i]>n) doub.push_back(x[i]);
  sort(all(doub));
  rep(i,doub.size()-1) if(doub[i]==doub[i+1]) return 0;
  return 1; 
}

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

signed replacement(signed n, signed gondseq[], signed replacementSeq[])
{
  int minn = 251000, mini=-1;
  rep(i,n) if((int)gondseq[i]<minn) {minn=gondseq[i]; mini=i;}
  vector<int>x(n);
  rep(i,n) x[i]=gondseq[i];

  int cur = 0;
  int maxx = n;
  rep(i,n) maxx=max(maxx,x[i]);
  map<int,int>mp;
  rep(i,n) if(x[i]>n) mp[x[i]]=i+1;
  auto it = mp.end();
  if(mp.size()) it--;

  vector<int>out;
  for(int i = n+1; i <= maxx; i++)
  {
    if(mp.count(i)) out.push_back(x[mp[i]]);
    else out.push_back(x[(*it).second]);
  }

  rep(i,maxx-n) replacementSeq[i]=out[i];
  return maxx-n;
}

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

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

Compilation message

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:29:22: warning: variable 'mini' set but not used [-Wunused-but-set-variable]
   29 |   int minn = 251000, mini=-1;
      |                      ^~~~
gondola.cpp:34:7: warning: unused variable 'cur' [-Wunused-variable]
   34 |   int cur = 0;
      |       ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 5 ms 724 KB Output is correct
7 Correct 14 ms 1260 KB Output is correct
8 Correct 9 ms 1108 KB Output is correct
9 Correct 3 ms 468 KB Output is correct
10 Correct 10 ms 1172 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 288 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 4 ms 724 KB Output is correct
7 Correct 15 ms 1236 KB Output is correct
8 Correct 8 ms 1108 KB Output is correct
9 Correct 3 ms 468 KB Output is correct
10 Correct 11 ms 1236 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 5 ms 724 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 13 ms 1268 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -