제출 #1222201

#제출 시각아이디문제언어결과실행 시간메모리
1222201Malix비스킷 담기 (IOI20_biscuits)C++20
0 / 100
1 ms328 KiB
#include "biscuits.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vii; typedef pair<int,int> pi; typedef vector<pi> pii; typedef tuple<int,int,int> ti; typedef vector<ll> li; typedef vector<li> lii; #define REP(i,a,b) for(int i=a;i<b;i++) #define F first #define S second #define PB push_back #define LSOne(s) ((s)&(-s)) #define all(x) (x).begin(),(x).end() ll INF=1000000000000000010; int inf=1e9+10; ll M=1e9+7; long long count_tastiness(long long x, std::vector<long long> a) { int n=a.size(); vector<ll> pow(61,1); REP(i,1,61)pow[i]=pow[i-1]*2LL; REP(i,0,n-1)if(a[i]>1){ a[i+1]+=(a[i]-1)/2; if((a[i]-1)%2==0)a[i]=1; else a[i]=2; } ll ans=1; int pos=0; while(pos<n){ vi b; while(pos<n&&a[pos]!=0)b.PB(a[pos++]); while(pos<n&&a[pos]==0)pos++; int m=b.size(); if(m==0)break; ll cnt=pow[m]; REP(i,0,m)if(b[i]==2)cnt+=pow[i]; ans*=cnt; } return ans; }
#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...