#include <bits/stdc++.h>
#include "souvenirs.h"
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
#define per(i,n) for(int i=n-1;i>=0;i--)
#define rng(i,c,n) for(int i=c;i<n;i++)
#define all(a) a.begin(),a.end()
#define sz(a) (int)a.size()
#define fi first
#define se second
#define vec vector
#define pb push_back
typedef long long ll;
typedef vector<int> vi;
typedef pair<int,int> pii;
void print(){cout<<'\n';}
template<class h,class...t>
void print(const h&v,const t&...u){cout<<v<<' ',print(u...);}
typedef long double ld;
void buy_souvenirs(int N, long long P0){
int n=N;
ll p0=P0;
p0--;
if(n==2){
transaction(p0);
return;
}
vi cnt(n);
rng(i,1,n){
if(cnt[i]==i){
continue;
}
auto [vs,left]=transaction(p0);
vi usd(n);
int sum=p0+left;
for(auto v:vs){
usd[v]=1;
cnt[v]+=1;
}
auto contains=[&](int pos)->bool{
if(pos>=n or pos<0){
return 0;
}
return usd[pos];
};
ld frac=0.7;
// we will investigate i + 1
if(!contains(i+1) and !contains(i+2) and !contains(i+3)){
frac=0.7;
}else if(contains(i+1) and !contains(i+2) and !contains(i+3)){
frac=0.5;
}else if(!contains(i+1) and !contains(i+2) and contains(i+3)){
frac=0.6;
}else if(contains(i+1) and !contains(i+2) and contains(i+3)){
frac=0.4;
}else if(!contains(i+1) and contains(i+2) and !contains(i+3)){
frac=0.5;
}else if(!contains(i+1) and contains(i+2) and contains(i+3)){
frac=0.5;
}else if(contains(i+1) and contains(i+2) and !contains(i+3)){
frac=0.4;
}else if(contains(i+1) and contains(i+2) and contains(i+3)){
frac=0.34;
}
p0=(int)(frac*sum);
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |