Submission #1341935

#TimeUsernameProblemLanguageResultExecution timeMemory
1341935Newtonabc선물 (IOI25_souvenirs)C++20
39 / 100
13 ms412 KiB
#include "souvenirs.h"
#include <utility>
#include <vector>
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int M=200;
int cnt[M];
void buy_souvenirs(int N, long long P0) {
  if(N==2){
    transaction(P0-1);
    return;
  }
  if(N==3){
    auto [v,lt]=transaction(P0-1);
    if(v.size()==1){
      ll P1=P0-1-lt;
      transaction(P1-1);
      transaction(P1-1);
    }
    else{
      ll sum=P0-1-lt;
      transaction(sum/2);
    }
    return;
  }
  ll now=P0;
  for(int i=0;i<N;i++){
    while(cnt[i]<i){
      auto [v,lt]=transaction(now);
      if(v.size()!=1 || lt) now--;
      for(auto x:v) cnt[x]++;
    }
    now--;
  }
  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...