Submission #1287480

#TimeUsernameProblemLanguageResultExecution timeMemory
1287480aleksandre선물 (IOI25_souvenirs)C++20
39 / 100
13 ms400 KiB
#include "souvenirs.h"
#include <utility>
#include <vector>
#include <iostream>
using namespace std;

void buy_souvenirs(int N, long long P0) {
  pair<vector<int>, long long> res;
  long long curp;
  if (N==2) {
   res = transaction(P0-1); return;
  } else
  if (N==3) {
   res = transaction(P0-1);
   curp = (P0-1-res.second);
   if ((int)res.first.size()==2) {
    res = transaction(curp/2);
    return;  
   } else {
    res = transaction(curp-1);
    res = transaction(curp-1);
    return;
   }
  } else
  if (P0==N) {
   curp = P0-1;
   for (int i = 1; i <= N-1; i++){
  	for (int j = 1; j <= i; j++) 
  	res = transaction(curp);
  	curp--;  	 
   }
   return;
  } else {
   int cnt1 = 0;
   curp = P0-1;  
   for (int i = 1; i < N-1; i++){
   	for (int j = 1; j <= i; j++) {	    
	   res = transaction(curp);
	   if ((int)res.first.size() > 1) {	   
	   	cnt1++;
	   	curp--;
	   }
	   if(res.second > 0) curp--;	   
    }
   	curp--;            	
   }
   for (int i = cnt1+1; i <= N-1; i++) 
   res = transaction(curp);
   return;
  }
  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...