Submission #5928917


Source Code Expand

Copy
/*{{{*/
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<iostream>
#include<sstream>
#include<set>
#include<map>
#include<queue>
#include<bitset>
#include<vector>
#include<limits.h>
#include<assert.h>
#define SZ(X) ((int)(X).size())
#define ALL(X) (X).begin(), (X).end()
#define REP(I, N) for (int I = 0; I < (N); ++I)
#define REPP(I, A, B) for (int I = (A); I < (B); ++I)
#define FOR(I, A, B) for (int I = (A); I <= (B); ++I)
#define FORS(I, S) for (int I = 0; S[I]; ++I)
#define RS(X) scanf("%s", (X))
#define SORT_UNIQUE(c) (sort(c.begin(),c.end()), c.resize(distance(c.begin(),unique(c.begin(),c.end()))))
#define GET_POS(c,x) (lower_bound(c.begin(),c.end(),x)-c.begin())
#define CASET int ___T; scanf("%d", &___T); for(int cs=1;cs<=___T;cs++)
#define MP make_pair
#define PB push_back
#define MS0(X) memset((X), 0, sizeof((X)))
#define MS1(X) memset((X), -1, sizeof((X)))
#define LEN(X) strlen(X)
#define F first
#define S second
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef long double LD;
typedef pair<int,int> PII;
typedef vector<int> VI;
typedef vector<LL> VL;
typedef vector<PII> VPII;
typedef pair<LL,LL> PLL;
typedef vector<PLL> VPLL;
template<class T> void _R(T &x) { cin >> x; }
void _R(int &x) { scanf("%d", &x); }
void _R(LL &x) { scanf("%lld", &x); }
void _R(double &x) { scanf("%lf", &x); }
void _R(char &x) { scanf(" %c", &x); }
void _R(char *x) { scanf("%s", x); }
void R() {}
template<class T, class... U> void R(T &head, U &... tail) { _R(head); R(tail...); }
template<class T> void _W(const T &x) { cout << x; }
void _W(const int &x) { printf("%d", x); }
void _W(const LL &x) { printf("%lld", x); }
void _W(const double &x) { printf("%.16f", x); }
void _W(const char &x) { putchar(x); }
void _W(const char *x) { printf("%s", x); }
template<class T,class U> void _W(const pair<T,U> &x) {_W(x.F); putchar(' '); _W(x.S);}
template<class T> void _W(const vector<T> &x) { for (auto i = x.begin(); i != x.end(); _W(*i++)) if (i != x.cbegin()) putchar(' '); }
void W() {}
template<class T, class... U> void W(const T &head, const U &... tail) { _W(head); putchar(sizeof...(tail) ? ' ' : '\n'); W(tail...); }
#ifdef HOME
 #define DEBUG(...) {printf("# ");printf(__VA_ARGS__);puts("");}
#else
 #define DEBUG(...)
#endif
int MOD = 1e9+7;
void ADD(LL& x,LL v){x=(x+v)%MOD;if(x<0)x+=MOD;}
/*}}}*/
const int SIZE = 1e6+10;
int main(){
    LL N; R(N);
    LL AA[3][2];
    REP(i,2)REP(j,3)R(AA[j][i]);
    LL res=0;
    for(int i=0;i*AA[0][0]<=N;i++)for(int j=0;i*AA[0][0]+j*AA[1][0]<=N;j++){
        LL k=(N-(i*AA[0][0]+j*AA[1][0]))/AA[2][0];
        res=max(res,N+i*(AA[0][1]-AA[0][0])+j*(AA[1][1]-AA[1][0])+k*(AA[2][1]-AA[2][0]));
        k=0;
        res=max(res,N+i*(AA[0][1]-AA[0][0])+j*(AA[1][1]-AA[1][0])+k*(AA[2][1]-AA[2][0]));
    }
    N=res;
    res=0;
    REP(i,3)swap(AA[i][0],AA[i][1]);
    for(int i=0;i*AA[0][0]<=N;i++)for(int j=0;i*AA[0][0]+j*AA[1][0]<=N;j++){
        if(j>0&&AA[1][1]<=AA[1][0])break;
        if(i>0&&AA[0][1]<=AA[0][0])break;
        LL k=(N-(i*AA[0][0]+j*AA[1][0]))/AA[2][0];
        res=max(res,N+i*(AA[0][1]-AA[0][0])+j*(AA[1][1]-AA[1][0])+k*(AA[2][1]-AA[2][0]));
        k=0;
        res=max(res,N+i*(AA[0][1]-AA[0][0])+j*(AA[1][1]-AA[1][0])+k*(AA[2][1]-AA[2][0]));
    }
    N=res;
    W(N);
    return 0;
}

Submission Info

Submission Time
Task D - Squirrel Merchant
User dreamoon
Language C++14 (GCC 5.4.1)
Score 0
Code Size 3459 Byte
Status
Exec Time 2103 ms
Memory 256 KB

Compile Error

./Main.cpp: In function ‘void _R(int&)’:
./Main.cpp:45:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
 void _R(int &x) { scanf("%d", &x); }
                                  ^
./Main.cpp: In function ‘void _R(LL&)’:
./Main.cpp:46:35: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
 void _R(LL &x) { scanf("%lld", &x); }
                                   ^
./Main.cpp: In function ‘void _R(double&)’:
./Main.cpp:47:38: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
 void _R(double &x) { scanf("%lf", &x); }
                                      ^
./Main.cpp: In function ‘void _R(char&)’:
./Main.cpp:48:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
 void _R(char &x) { scanf(" %c", &x); }
     ...

Test Cases

Set Name Score / Max Score Test Cases
Sample 0 / 0 s1.txt
All 0 / 600 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 1 ms 256 KB
41.txt 1 ms 256 KB
42.txt 1 ms 256 KB
45.txt 1 ms 256 KB
50.txt 1 ms 256 KB
55.txt 1 ms 256 KB
60.txt 2 ms 256 KB
65.txt 1 ms 256 KB
70.txt 1 ms 256 KB
75.txt 2 ms 256 KB
80.txt 1 ms 256 KB
81.txt 4 ms 256 KB
82.txt 5 ms 256 KB
83.txt 6 ms 256 KB
84.txt 4 ms 256 KB
85.txt 29 ms 256 KB
86.txt 57 ms 256 KB
87.txt 21 ms 256 KB
88.txt 16 ms 256 KB
89.txt 16 ms 256 KB
90.txt 2103 ms 256 KB
91.txt 1 ms 256 KB
92.txt 1 ms 256 KB
93.txt 1 ms 256 KB
94.txt 2 ms 256 KB
95.txt 2 ms 256 KB
a01.txt 3 ms 256 KB
a02.txt 2103 ms 256 KB
a03.txt 2 ms 256 KB
a04.txt 3 ms 256 KB
a05.txt 2103 ms 256 KB
a06.txt 1 ms 256 KB
a07.txt 1 ms 256 KB
a08.txt 1 ms 256 KB
a09.txt 6 ms 256 KB
a10.txt 2103 ms 256 KB
a11.txt 1752 ms 256 KB
a12.txt 2 ms 256 KB
a13.txt 156 ms 256 KB
a14.txt 11 ms 256 KB
a15.txt 53 ms 256 KB
a16.txt 24 ms 256 KB
a17.txt 7 ms 256 KB
a18.txt 2 ms 256 KB
a19.txt 3 ms 256 KB
a20.txt 145 ms 256 KB
a21.txt 2 ms 256 KB
a22.txt 11 ms 256 KB
a23.txt 3 ms 256 KB
a24.txt 2 ms 256 KB
a25.txt 1 ms 256 KB
a26.txt 1 ms 256 KB
a27.txt 2 ms 256 KB
a28.txt 1 ms 256 KB
a29.txt 1 ms 256 KB
a30.txt 1 ms 256 KB
a31.txt 1 ms 256 KB
a32.txt 3 ms 256 KB
a33.txt 1 ms 256 KB
a34.txt 2 ms 256 KB
a35.txt 1 ms 256 KB
a36.txt 1 ms 256 KB
a37.txt 1 ms 256 KB
a38.txt 1 ms 256 KB
a39.txt 1 ms 256 KB
a40.txt 1 ms 256 KB
s1.txt 1 ms 256 KB