Submission #1250768

#TimeUsernameProblemLanguageResultExecution timeMemory
1250768alex0152선물 (IOI25_souvenirs)C++20
25 / 100
12 ms412 KiB
#include <bits/stdc++.h>
using namespace std;

extern pair<vector<int>, long long> transaction(long long M);


void buy_souvenirs(int n, long long P0)
{
    long long x;
    pair<vector<int>, long long> p;
    if(n==2)
    {
        p=transaction(P0-1LL);
        return;
    }
    if(n==3)
    {
        p=transaction(P0-1LL);
        if(p.first.size()==1)
        {
            x=p.second;
            p=transaction(P0-2LL-x);
            p=transaction(P0-2LL-x);
            return;
        }
        x=P0-p.second-1LL;
        p=transaction(x/2LL);
        return ;
    }
    x=P0-1;
    int last=n-1;
    for(int i=1; i<n-1; ++i)
    {
        for(int j=1; j<=i; ++j)
            p=transaction(x);
        if(p.first.size()!=1)
            last--,x--;
        x--;
    }
    for(int i=1;i<=last;++i)
        p=transaction(x);
    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...