제출 #376351

#제출 시각아이디문제언어결과실행 시간메모리
376351Jarif_RahmanPacking Biscuits (IOI20_biscuits)C++17
9 / 100
1153 ms942148 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
#define pb push_back
#define f first
#define sc second
using namespace std;
typedef long long int ll;
typedef string str;
const int kk = 62;
ll count_tastiness(ll x, vector<ll> aa){
    vector<__int128> a(kk);
    int k = aa.size();
    for(int i = 0; i < k; i++) a[i] = aa[i];
    ll ans = 0;
    vector<__int128> s(kk, 0);
    for(int i = 0; i < kk; i++){
        if(i != 0) s[i] = s[i-1];
        s[i]+=a[i]*(1LL<<i);
    }
    vector<__int128> v;
    v.pb({0});
    for(int i = 0; i < kk; i++){
        __int128 mx = s[i]/x-mx, p = 1;
        p<<=i;
        mx-=p;
        int in = upper_bound(v.begin(), v.end(), mx) - v.begin();
        for(int j = 0; j < in; j++) v.pb(v[j]+p);
    }
    return v.size();
}

컴파일 시 표준 에러 (stderr) 메시지

biscuits.cpp: In function 'll count_tastiness(ll, std::vector<long long int>)':
biscuits.cpp:14:8: warning: unused variable 'ans' [-Wunused-variable]
   14 |     ll ans = 0;
      |        ^~~
biscuits.cpp:23:29: warning: 'mx' may be used uninitialized in this function [-Wmaybe-uninitialized]
   23 |         __int128 mx = s[i]/x-mx, p = 1;
#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...