제출 #1174738

#제출 시각아이디문제언어결과실행 시간메모리
1174738khanhphucscratchPacking Biscuits (IOI20_biscuits)C++20
9 / 100
1095 ms420 KiB
#include "biscuits.h"
#include<bits/stdc++.h>
#define int long long
#define intt __int128
using namespace std;
inline bool getbit(int num, int bit)
{
    return (num >> bit)&1;
}
inline bool check(vector<int> a, vector<int> b)
{
    int k = a.size();
    vector<intt> c(k), d(k);
    for(int i = 0; i < k; i++){
        c[i] = (intt)a[i] * (1ll << i);
        d[i] = (intt)b[i] * (1ll << i);
    }
    for(int i = 0; i < k; i++){
        if(i > 0){
            c[i] += c[i-1]; d[i] += d[i-1];
        }
        if(c[i] < d[i]) return 0;
    }
    return 1;
}
int count_tastiness(int x, vector<int> a)
{
    int k = 60; a.resize(k);
    //Subtask 1
    int ans = 0;
    for(int i = 0; i < 100001; i++){
        vector<int> b(k);
        for(int j = 0; j < k; j++) b[j] = (int)getbit(i, j) * x;
        ans += check(a, b);
    }
    return ans;
}
/*signed main()
{
    int x, k;
    cin>>x>>k;
    vector<int> a(k);
    for(int i = 0; i < k; i++) cin>>a[i];
    cout<<count_tastiness(x, a);
}*/
#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...