Submission #5937161
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define mem( arr, i ) fill( arr, arr + sizeof (arr), i ) #define MEM( arr, i ) memset( arr, i, sizeof (arr) ) #define Push push_back #define Pair make_pair typedef unsigned long long ull; typedef long long lli; typedef pair<int,int> pii; typedef pair<lli,lli> pll; typedef vector<int> vcI; typedef vector<lli> vcL; typedef vector<pii> vPI; typedef vector<pll> vPL; //typedef priority_queue<T> prior_S<T>; //typedef priority_queue< T, vector<T>, greater<T> > prior_B<T>; const double PI = 3.141592653589793; const lli I_MAX = 1LL << 60; const lli mod = 1000000007; void precal() { return; } bool solve() { lli n = 1; string s; if ( cin >> n ); else return false; vcL num( 6, 0 ); for (int i = 0; i < 6; ++i) { cin >> num[i]; } bool a = false, b = false, c = false; if ( num[0] < num[3] ) a = true; if ( num[1] < num[4] ) b = true; if ( num[2] < num[5] ) c = true; lli _max = 0; if ( a and b and c ) { for (int i = 0; i <= n/num[0]; ++i) { for (int j = 0; j <= (n-i*num[0])/num[1]; ++j) { lli k = (n-i*num[0]-j*num[1])/num[2]; _max = max( _max, i*(num[3]-num[0]) + j*(num[4]-num[1]) + k*(num[5]-num[2]) ); } } n += _max; } else if ( a and b ) { for (int i = 0; i <= n/num[0]; ++i) { _max = max( _max, i*(num[3]-num[0]) + (n-i*num[0])/num[1]*(num[4]-num[1]) ); } n += _max; n += (n/num[5])*(num[2]-num[5]); } else if ( a and c ) { for (int i = 0; i <= n/num[0]; ++i) { _max = max( _max, i*(num[3]-num[0]) + (n-i*num[0])/num[2]*(num[5]-num[2]) ); } n += _max; n += (n/num[4])*(num[1]-num[4]); } else if ( b and c ) { for (int i = 0; i <= n/num[1]; ++i) { _max = max( _max, i*(num[4]-num[1]) + (n-i*num[1])/num[2]*(num[5]-num[2]) ); } n += _max; n += (n/num[3])*(num[0]-num[3]); } else if ( a ) { n += (n/num[0])*(num[3]-num[0]); for (int i = 0; i <= n/num[4]; ++i) { _max = max( _max, i*(num[1]-num[4]) + (n-i*num[4])/num[5]*(num[2]-num[5]) ); } n += _max; } else if ( b ) { n += (n/num[1])*(num[4]-num[1]); for (int i = 0; i <= n/num[3]; ++i) { _max = max( _max, i*(num[0]-num[3]) + (n-i*num[3])/num[5]*(num[2]-num[5]) ); } n += _max; } else if ( c ) { n += (n/num[2])*(num[5]-num[2]); for (int i = 0; i <= n/num[3]; ++i) { _max = max( _max, i*(num[0]-num[3]) + (n-i*num[3])/num[4]*(num[1]-num[4]) ); } n += _max; } else { for (int i = 0; i <= n/num[3]; ++i) { for (int j = 0; j <= (n-i*num[3])/num[4]; ++j) { lli k = (n-i*num[3]-j*num[4])/num[5]; _max = max( _max, i*(num[0]-num[3]) + j*(num[1]-num[4]) + k*(num[2]-num[5]) ); } } n += _max; } // cout << "max: " << _max << '\n'; cout << n << '\n'; return true; } int main() { precal(); int t = INT_MAX; // cin >> t; for (int i = 1; i <= t; ++i) { // printf("Case #%d: ", i ); if ( !solve() ) break; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Squirrel Merchant |
User | SorahISA |
Language | C++14 (GCC 5.4.1) |
Score | 600 |
Code Size | 2997 Byte |
Status | AC |
Exec Time | 132 ms |
Memory | 256 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt |
All | 00.txt, 41.txt, 42.txt, 45.txt, 50.txt, 55.txt, 60.txt, 65.txt, 70.txt, 75.txt, 80.txt, 81.txt, 82.txt, 83.txt, 84.txt, 85.txt, 86.txt, 87.txt, 88.txt, 89.txt, 90.txt, 91.txt, 92.txt, 93.txt, 94.txt, 95.txt, a01.txt, a02.txt, a03.txt, a04.txt, a05.txt, a06.txt, a07.txt, a08.txt, a09.txt, a10.txt, a11.txt, a12.txt, a13.txt, a14.txt, a15.txt, a16.txt, a17.txt, a18.txt, a19.txt, a20.txt, a21.txt, a22.txt, a23.txt, a24.txt, a25.txt, a26.txt, a27.txt, a28.txt, a29.txt, a30.txt, a31.txt, a32.txt, a33.txt, a34.txt, a35.txt, a36.txt, a37.txt, a38.txt, a39.txt, a40.txt, s1.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00.txt | AC | 1 ms | 256 KiB |
41.txt | AC | 1 ms | 256 KiB |
42.txt | AC | 1 ms | 256 KiB |
45.txt | AC | 1 ms | 256 KiB |
50.txt | AC | 1 ms | 256 KiB |
55.txt | AC | 1 ms | 256 KiB |
60.txt | AC | 1 ms | 256 KiB |
65.txt | AC | 1 ms | 256 KiB |
70.txt | AC | 1 ms | 256 KiB |
75.txt | AC | 1 ms | 256 KiB |
80.txt | AC | 1 ms | 256 KiB |
81.txt | AC | 3 ms | 256 KiB |
82.txt | AC | 5 ms | 256 KiB |
83.txt | AC | 1 ms | 256 KiB |
84.txt | AC | 1 ms | 256 KiB |
85.txt | AC | 27 ms | 256 KiB |
86.txt | AC | 1 ms | 256 KiB |
87.txt | AC | 20 ms | 256 KiB |
88.txt | AC | 1 ms | 256 KiB |
89.txt | AC | 1 ms | 256 KiB |
90.txt | AC | 8 ms | 256 KiB |
91.txt | AC | 1 ms | 256 KiB |
92.txt | AC | 1 ms | 256 KiB |
93.txt | AC | 1 ms | 256 KiB |
94.txt | AC | 1 ms | 256 KiB |
95.txt | AC | 1 ms | 256 KiB |
a01.txt | AC | 2 ms | 256 KiB |
a02.txt | AC | 10 ms | 256 KiB |
a03.txt | AC | 2 ms | 256 KiB |
a04.txt | AC | 2 ms | 256 KiB |
a05.txt | AC | 1 ms | 256 KiB |
a06.txt | AC | 1 ms | 256 KiB |
a07.txt | AC | 1 ms | 256 KiB |
a08.txt | AC | 1 ms | 256 KiB |
a09.txt | AC | 4 ms | 256 KiB |
a10.txt | AC | 5 ms | 256 KiB |
a11.txt | AC | 1 ms | 256 KiB |
a12.txt | AC | 2 ms | 256 KiB |
a13.txt | AC | 131 ms | 256 KiB |
a14.txt | AC | 10 ms | 256 KiB |
a15.txt | AC | 45 ms | 256 KiB |
a16.txt | AC | 22 ms | 256 KiB |
a17.txt | AC | 6 ms | 256 KiB |
a18.txt | AC | 2 ms | 256 KiB |
a19.txt | AC | 2 ms | 256 KiB |
a20.txt | AC | 132 ms | 256 KiB |
a21.txt | AC | 2 ms | 256 KiB |
a22.txt | AC | 10 ms | 256 KiB |
a23.txt | AC | 3 ms | 256 KiB |
a24.txt | AC | 2 ms | 256 KiB |
a25.txt | AC | 1 ms | 256 KiB |
a26.txt | AC | 1 ms | 256 KiB |
a27.txt | AC | 2 ms | 256 KiB |
a28.txt | AC | 1 ms | 256 KiB |
a29.txt | AC | 1 ms | 256 KiB |
a30.txt | AC | 1 ms | 256 KiB |
a31.txt | AC | 1 ms | 256 KiB |
a32.txt | AC | 3 ms | 256 KiB |
a33.txt | AC | 1 ms | 256 KiB |
a34.txt | AC | 2 ms | 256 KiB |
a35.txt | AC | 1 ms | 256 KiB |
a36.txt | AC | 1 ms | 256 KiB |
a37.txt | AC | 1 ms | 256 KiB |
a38.txt | AC | 1 ms | 256 KiB |
a39.txt | AC | 1 ms | 256 KiB |
a40.txt | AC | 1 ms | 256 KiB |
s1.txt | AC | 1 ms | 256 KiB |