답안 #586670

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
586670 2022-06-30T14:20:18 Z Valaki2 비스킷 담기 (IOI20_biscuits) C++14
9 / 100
1000 ms 340 KB
#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define pb push_back

const int maxbits = 60;

int po[maxbits];

void init() {
    po[0] = 1;
    for(int i = 1; i < maxbits; i++) {
        po[i] = 2 * po[i - 1];
    }
}

bool good(int y, int x, vector<int> a) {
    int n = (int) a.size();
    for(int z = 0; z < x; z++) {
        int cnt = y;
        for(int i = n - 1; i >= 0; i--) {
            int l = min(a[i], cnt / po[i]);
            a[i] -= l;
            cnt -= l * po[i];
        }
        if(cnt > 0) {
            return false;
        }
    }
    return true;
}

int count_tastiness(int x, vector<int> a) {
    init();
    int ans = 0;
    int max_i = 0;
    for(int i = 0; i < (int) a.size(); i++) {
        max_i += a[i] * po[i];
    }
    max_i /= x;
    if(max_i == 0) {
        return 1;
    }
    for(int i = 0; i <= max_i; i++) {
        if(good(i, x, a)) {
            //cout << i << "+\n";
            ans++;
        } else {
            //cout << i << "-\n";
        }
    }
	return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 212 KB Output is correct
2 Correct 1 ms 296 KB Output is correct
3 Correct 2 ms 212 KB Output is correct
4 Correct 12 ms 212 KB Output is correct
5 Correct 2 ms 296 KB Output is correct
6 Correct 54 ms 280 KB Output is correct
7 Correct 2 ms 212 KB Output is correct
8 Correct 55 ms 212 KB Output is correct
9 Correct 3 ms 212 KB Output is correct
10 Correct 53 ms 276 KB Output is correct
11 Correct 3 ms 212 KB Output is correct
12 Correct 193 ms 288 KB Output is correct
13 Correct 182 ms 332 KB Output is correct
14 Correct 179 ms 280 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 212 KB Output is correct
2 Execution timed out 1090 ms 212 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1098 ms 212 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1092 ms 340 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 212 KB Output is correct
2 Correct 1 ms 296 KB Output is correct
3 Correct 2 ms 212 KB Output is correct
4 Correct 12 ms 212 KB Output is correct
5 Correct 2 ms 296 KB Output is correct
6 Correct 54 ms 280 KB Output is correct
7 Correct 2 ms 212 KB Output is correct
8 Correct 55 ms 212 KB Output is correct
9 Correct 3 ms 212 KB Output is correct
10 Correct 53 ms 276 KB Output is correct
11 Correct 3 ms 212 KB Output is correct
12 Correct 193 ms 288 KB Output is correct
13 Correct 182 ms 332 KB Output is correct
14 Correct 179 ms 280 KB Output is correct
15 Correct 8 ms 212 KB Output is correct
16 Execution timed out 1090 ms 212 KB Time limit exceeded
17 Halted 0 ms 0 KB -