제출 #1287846

#제출 시각아이디문제언어결과실행 시간메모리
1287846nikoloz-ch선물 (IOI25_souvenirs)C++20
39 / 100
13 ms400 KiB
#include <bits/stdc++.h>
using namespace std;

pair<vector<int>, long long> transaction(long long M);

void buy_souvenirs(int N, long long P0){
    pair<vector<int>, long long> r;
    long long c;
    if(N == 2){
        auto pii = transaction(P0-1);
    } else if(N == 3){
        auto pii = transaction(P0-1);
        if(pii.first.size() == 2){
            auto p3 = transaction((P0-1-pii.second)/2);
            return;
        }
        auto p = transaction(P0-2-pii.second);
        auto p2 = transaction(P0-2-pii.second);
    } else if (P0 == N) {
    c = P0-1;
    for (int i = 1; i <= N-1; i++) {
      for (int j = 1; j <= i; j++) r = transaction(c);
      c--;
    }
    return;
  } else {
    int t = 0;
    c = P0-1;
    for (int i = 1; i < N-1; i++){
      for (int j = 1; j <= i; j++){
        r = transaction(c);
        if ((int)r.first.size() > 1){
          t++;
          c--;
        }
        if(r.second > 0) c--;
        if(c < 1) c = 1;
      }
      c--;
      if (c < 1) c = 1;
    }
    for(int i = t+1; i <= N-1; i++){
      r = transaction(c);
    }
    return;
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...