Submission #992628
Source Code Expand
#include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <cassert> #include <iostream> #include <sstream> #include <vector> #include <queue> #include <set> #include <map> #include <utility> #include <numeric> #include <algorithm> #include <bitset> #include <complex> #include <array> #include <list> #include <stack> #include <valarray> using namespace std; typedef unsigned uint; typedef long long Int; typedef unsigned long long UInt; const int INF = 1001001001; const Int INFLL = 1001001001001001001LL; template<typename T> void pv(T a, T b) { for (T i = a; i != b; ++i) cout << *i << " "; cout << endl; } template<typename T> void chmin(T& a, T b) { if (a > b) a = b; } template<typename T> void chmax(T& a, T b) { if (a < b) a = b; } int in() { int x; scanf("%d", &x); return x; } double fin() { double x; scanf("%lf", &x); return x; } Int lin() { Int x; scanf("%lld", &x); return x; } // Int dp[1<<20], dp2[1<<20]; int main() { Int N = lin(); Int A = lin(); const Int LIM = 1<<20; // dp[1] = 0; // for (int x = 1; x < LIM; ++x) { // for (int xx = x + x, k = 2; xx < LIM; ++k, xx += x) { // chmin(dp[xx], dp[x] + k + A); // } // } // Int res = INFLL; // for (int x = 1; x < LIM; ++x) { // chmin(res, dp[x] + (N + x - 1) / x); // } Int res = N; for (int x = 2; x < LIM; ++x) { chmin(res, x + A + (N + x - 1) / x); } for (int x = LIM; x >= 1; --x) { Int v = (N + x - 1) / x; chmin(res, v + A + (N + v - 1) / v); } for (int as = 2; as <= 40; ++as) { Int v = (1LL << as); Int ksum = 2 * as; vector<int> ks; for (int i = 0; i < as; ++i) { ks.push_back(2); } while (true) { chmin(res, (N + v - 1) / v + A * as + ksum); if (v >= N) { break; } sort(ks.begin(), ks.end()); v = v / ks[0] * (ks[0] + 1); ++ks[0]; ++ksum; } } printf("%lld\n", res); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Cookies |
User | japlj |
Language | C++14 (GCC 5.4.1) |
Score | 1000 |
Code Size | 2029 Byte |
Status | AC |
Exec Time | 114 ms |
Memory | 384 KB |
Compile Error
./Main.cpp: In function ‘int in()’: ./Main.cpp:34:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] int in() { int x; scanf("%d", &x); return x; } ^ ./Main.cpp: In function ‘double fin()’: ./Main.cpp:35:42: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] double fin() { double x; scanf("%lf", &x); return x; } ^ ./Main.cpp: In function ‘Int lin()’: ./Main.cpp:36:37: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] Int lin() { Int x; scanf("%lld", &x); return x; } ^
Judge Result
Set Name | sample | dataset1 | dataset2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | 500 / 500 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
sample | sample-01.txt, sample-02.txt, sample-03.txt |
dataset1 | sample-01.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt |
dataset2 | sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 02-20.txt, 02-21.txt, 02-22.txt, 02-23.txt, 02-24.txt, 02-25.txt, 02-26.txt, 02-27.txt, 02-28.txt, 02-29.txt, 02-30.txt, 02-31.txt, 02-32.txt, 02-33.txt, 02-34.txt, 02-35.txt, 02-36.txt, 02-37.txt, 02-38.txt, 02-39.txt, 02-40.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 35 ms | 256 KB |
01-02.txt | AC | 35 ms | 256 KB |
01-03.txt | AC | 35 ms | 256 KB |
01-04.txt | AC | 35 ms | 256 KB |
01-05.txt | AC | 35 ms | 256 KB |
01-06.txt | AC | 35 ms | 256 KB |
01-07.txt | AC | 35 ms | 256 KB |
01-08.txt | AC | 35 ms | 256 KB |
01-09.txt | AC | 35 ms | 256 KB |
01-10.txt | AC | 35 ms | 256 KB |
01-11.txt | AC | 35 ms | 256 KB |
01-12.txt | AC | 35 ms | 256 KB |
01-13.txt | AC | 35 ms | 256 KB |
01-14.txt | AC | 36 ms | 256 KB |
01-15.txt | AC | 35 ms | 256 KB |
01-16.txt | AC | 35 ms | 256 KB |
01-17.txt | AC | 35 ms | 256 KB |
01-18.txt | AC | 36 ms | 256 KB |
01-19.txt | AC | 35 ms | 256 KB |
01-20.txt | AC | 35 ms | 256 KB |
01-21.txt | AC | 35 ms | 256 KB |
01-22.txt | AC | 36 ms | 256 KB |
01-23.txt | AC | 35 ms | 256 KB |
01-24.txt | AC | 36 ms | 256 KB |
01-25.txt | AC | 36 ms | 256 KB |
01-26.txt | AC | 36 ms | 256 KB |
02-01.txt | AC | 35 ms | 256 KB |
02-02.txt | AC | 104 ms | 256 KB |
02-03.txt | AC | 104 ms | 256 KB |
02-04.txt | AC | 104 ms | 256 KB |
02-05.txt | AC | 104 ms | 256 KB |
02-06.txt | AC | 104 ms | 256 KB |
02-07.txt | AC | 104 ms | 256 KB |
02-08.txt | AC | 104 ms | 256 KB |
02-09.txt | AC | 104 ms | 256 KB |
02-10.txt | AC | 104 ms | 256 KB |
02-11.txt | AC | 104 ms | 256 KB |
02-12.txt | AC | 104 ms | 256 KB |
02-13.txt | AC | 104 ms | 256 KB |
02-14.txt | AC | 104 ms | 256 KB |
02-15.txt | AC | 104 ms | 256 KB |
02-16.txt | AC | 104 ms | 256 KB |
02-17.txt | AC | 104 ms | 256 KB |
02-18.txt | AC | 104 ms | 256 KB |
02-19.txt | AC | 114 ms | 256 KB |
02-20.txt | AC | 104 ms | 256 KB |
02-21.txt | AC | 104 ms | 256 KB |
02-22.txt | AC | 104 ms | 256 KB |
02-23.txt | AC | 104 ms | 256 KB |
02-24.txt | AC | 110 ms | 256 KB |
02-25.txt | AC | 36 ms | 256 KB |
02-26.txt | AC | 53 ms | 256 KB |
02-27.txt | AC | 53 ms | 256 KB |
02-28.txt | AC | 54 ms | 256 KB |
02-29.txt | AC | 94 ms | 256 KB |
02-30.txt | AC | 78 ms | 256 KB |
02-31.txt | AC | 88 ms | 256 KB |
02-32.txt | AC | 57 ms | 256 KB |
02-33.txt | AC | 102 ms | 256 KB |
02-34.txt | AC | 83 ms | 256 KB |
02-35.txt | AC | 101 ms | 256 KB |
02-36.txt | AC | 98 ms | 256 KB |
02-37.txt | AC | 87 ms | 384 KB |
02-38.txt | AC | 104 ms | 256 KB |
02-39.txt | AC | 104 ms | 256 KB |
02-40.txt | AC | 103 ms | 256 KB |
sample-01.txt | AC | 35 ms | 256 KB |
sample-02.txt | AC | 104 ms | 256 KB |
sample-03.txt | AC | 36 ms | 256 KB |