제출 #1286477

#제출 시각아이디문제언어결과실행 시간메모리
1286477gurkot선물 (IOI25_souvenirs)C++17
25 / 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--;  	 
   }//i
   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--;            	
   }//i
   
   for (int i=cnt1+1;i<=N-1;i++) res=transaction(1);
   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...