Submission #1285895

#TimeUsernameProblemLanguageResultExecution timeMemory
1285895lizi14Souvenirs (IOI25_souvenirs)C++20
25 / 100
13 ms400 KiB

#include "souvenirs.h"
#include <utility>
#include <vector>
#include <bits/stdc++.h>
using namespace std;
void buy_souvenirs(int N, long long P0) {
  	
  	//int ans=P0-1-a;
  	//res=transaction(ans);
    if(N==2){
        transaction(P0-1);
    }
  	else if(N==3){
  	    pair<vector<int>, long long> res = transaction(P0-1);
  	    long long a=res.second;
  	    vector<int> b=res.first;
  	 //   for(auto ab:b){
  	 //       cout<<ab<<" ";
  	 //   }
  	 //   cout<<endl;
  	 //   cout<<a<<endl;
  	    if(b.size()==2 && a==0){
  	        transaction((P0-1)/2);
  	    }
  	    else if(b.size()==2 && a>0){
  	        transaction((P0-1-a)/2);
  	    }
  	    else{
      	    transaction(P0-2-a);
      	    transaction(P0-2-a);
  	        
  	    }
  	    return;
  	}
  	else{
  	    int ert=0;
    	for(int i=1; i<N; i++){
    	    if(ert>0 && i==N-1){
    	        break;
    	    }
    	    for(int j=0; j<i; j++){
    	        pair<vector<int>, long long> res = transaction(P0-1);
          	    long long a=res.second;
          	    vector<int> b=res.first;
          	    if(a!=0)P0--;
          	    if(b.size()==2)ert++;
    	    }
    	    P0--;
    	}
    	if(ert>0){
        	for(int i=ert; i<N; i++){
        	    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...