Submission #1286121

#TimeUsernameProblemLanguageResultExecution timeMemory
1286121gurkotSouvenirs (IOI25_souvenirs)C++17
7 / 100
13 ms400 KiB
#include "souvenirs.h"
#include <utility>
#include <vector>
#include <iostream>
using namespace std;

int cnt[100];

void calc(vector <int> v){
 for (int i=0;i<v.size();i++)
 	cnt[v[i]]++; 
}


void buy_souvenirs(int N, long long P0) {
  pair<std::vector<int>, long long> res;
  
  long long curp=P0-1;
  for (int i=1;i<N;i++){ 
   int j0=cnt[i]+1; 
   for (int j=j0;j<=i;j++) {   	
  	res=transaction(curp);
  	curp=curp-res.second;
	calc(res.first);  	
   }
   long long m=curp-res.second;
   int k=res.first.size();
   if (k==1) curp--;
        else curp=m/k; 
   if (curp==0) 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...