Submission #1174997
Source Code Expand
#include <iostream>
#include <cstdio>
#include <vector>
#include <string>
#include <algorithm>
#include <set>
#include <map>
#define rep(i,n) for(int i=0; i<(n); i++)
#define reps(i,x,n) for(int i=x; i<(n); i++)
#define rrep(i,n) for(int i=(n)-1; i>=0; i--)
#define all(X) (X).begin(),(X).end()
#define X first
#define Y second
#define pb push_back
#define eb emplace_back
using namespace std;
typedef long long int ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
template<class T> bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T> bool chmin(T &a, const T &b) { if (a>b) { a=b; return 1; } return 0; }
template<class A, size_t N, class T> void Fill(A (&a)[N], const T &v){ fill( (T*)a, (T*)(a+N), v ); }
const ll INF = 0x3fffffff;
int D, T;
int C[10], A[10];
bool ok[105];
// 受け入れるか
bool rec(){
return D > 30 || T <= 3 || ok[D];
}
// 売る
vector<int> sell(){
vector<int> v;
int dp[10][105], cur = D;
Fill(dp, -1);
dp[0][0] = 0;
rep(k,8) rrep(i,90) if( dp[k][i] > -1 ){
dp[k+1][i] = dp[k][i];
if( A[k] ) dp[k+1][ i+A[k] ] = k;
}
int k = 8;
while( cur ){
//cerr << cur << " " << dp[k][cur] << " k=" << k << endl;
v.push_back( dp[k][cur] + 1 );
int nexk = dp[k][cur];
cur -= A[ dp[k][cur] ];
k = nexk;
}
return v;
}
vector<int> sell_(){
vector<int> v;
rep(k,1<<8){
int sum = 0;
rep(i,8){
if( k&(1<<i) ){
if( A[i] == 0 ) break;
sum += A[i];
}
}
if( sum == D ){
rep(i,8) if( k&(1<<i) ) v.push_back(i+1);
return v;
}
}
return v;
}
void solve_(){
vector<pii> vp;
rep(i,8) vp.emplace_back( C[i], i+1 );
sort( all(vp) );
if( vp[0].X > 3 ) rep(i,8){
if( A[i] != C[i] ){
cout << "fill " << i+1 << endl;
return;
}
}
cout << "change " << vp[0].Y << endl;
}
int main(){
ios_base::sync_with_stdio(0);
rep(kase,1000){
cin >> D >> T;
rep(i,8) cin >> C[i];
rep(i,8) cin >> A[i];
Fill( ok, false );
ok[0] = true;
rep(i,8) rrep(j,90) ok[ j + A[i] ] |= ok[j];
if( !rec() ){
cout << "pass" << endl;
continue;
}
if( ok[D] ){
auto v = sell();
cout << "sell " << v.size();
for(auto t: v) cout << " " << t;
cout << endl;
continue;
}
solve_();
}
return 0;
}
Submission Info
Submission Time |
|
Task |
A - 石油王Xの憂鬱 |
User |
oyas |
Language |
C++14 (GCC 5.4.1) |
Score |
6121140 |
Code Size |
2361 Byte |
Status |
AC |
Exec Time |
44 ms |
Memory |
724 KB |
Judge Result
Set Name |
test_01 |
test_02 |
test_03 |
test_04 |
test_05 |
test_06 |
test_07 |
test_08 |
test_09 |
test_10 |
test_11 |
test_12 |
test_13 |
test_14 |
test_15 |
test_16 |
test_17 |
test_18 |
test_19 |
test_20 |
test_21 |
test_22 |
test_23 |
test_24 |
test_25 |
test_26 |
test_27 |
test_28 |
test_29 |
test_30 |
test_31 |
test_32 |
test_33 |
test_34 |
test_35 |
test_36 |
test_37 |
test_38 |
test_39 |
test_40 |
test_41 |
test_42 |
test_43 |
test_44 |
test_45 |
test_46 |
test_47 |
test_48 |
test_49 |
test_50 |
Score / Max Score |
117001 / 417500 |
125065 / 417500 |
124824 / 417500 |
120232 / 417500 |
121533 / 417500 |
121224 / 417500 |
132299 / 417500 |
122152 / 417500 |
129486 / 417500 |
125608 / 417500 |
136948 / 417500 |
112743 / 417500 |
124176 / 417500 |
136001 / 417500 |
119597 / 417500 |
126429 / 417500 |
123156 / 417500 |
114407 / 417500 |
125450 / 417500 |
120143 / 417500 |
122647 / 417500 |
124766 / 417500 |
113501 / 417500 |
116165 / 417500 |
119455 / 417500 |
122619 / 417500 |
116863 / 417500 |
131067 / 417500 |
120712 / 417500 |
126717 / 417500 |
130999 / 417500 |
125985 / 417500 |
116402 / 417500 |
121127 / 417500 |
121972 / 417500 |
119662 / 417500 |
127436 / 417500 |
117192 / 417500 |
120164 / 417500 |
125592 / 417500 |
129090 / 417500 |
120820 / 417500 |
119111 / 417500 |
123714 / 417500 |
120390 / 417500 |
115787 / 417500 |
122908 / 417500 |
122256 / 417500 |
111957 / 417500 |
115590 / 417500 |
Status |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Set Name |
Test Cases |
test_01 |
subtask_01_01.txt |
test_02 |
subtask_01_02.txt |
test_03 |
subtask_01_03.txt |
test_04 |
subtask_01_04.txt |
test_05 |
subtask_01_05.txt |
test_06 |
subtask_01_06.txt |
test_07 |
subtask_01_07.txt |
test_08 |
subtask_01_08.txt |
test_09 |
subtask_01_09.txt |
test_10 |
subtask_01_10.txt |
test_11 |
subtask_01_11.txt |
test_12 |
subtask_01_12.txt |
test_13 |
subtask_01_13.txt |
test_14 |
subtask_01_14.txt |
test_15 |
subtask_01_15.txt |
test_16 |
subtask_01_16.txt |
test_17 |
subtask_01_17.txt |
test_18 |
subtask_01_18.txt |
test_19 |
subtask_01_19.txt |
test_20 |
subtask_01_20.txt |
test_21 |
subtask_01_21.txt |
test_22 |
subtask_01_22.txt |
test_23 |
subtask_01_23.txt |
test_24 |
subtask_01_24.txt |
test_25 |
subtask_01_25.txt |
test_26 |
subtask_01_26.txt |
test_27 |
subtask_01_27.txt |
test_28 |
subtask_01_28.txt |
test_29 |
subtask_01_29.txt |
test_30 |
subtask_01_30.txt |
test_31 |
subtask_01_31.txt |
test_32 |
subtask_01_32.txt |
test_33 |
subtask_01_33.txt |
test_34 |
subtask_01_34.txt |
test_35 |
subtask_01_35.txt |
test_36 |
subtask_01_36.txt |
test_37 |
subtask_01_37.txt |
test_38 |
subtask_01_38.txt |
test_39 |
subtask_01_39.txt |
test_40 |
subtask_01_40.txt |
test_41 |
subtask_01_41.txt |
test_42 |
subtask_01_42.txt |
test_43 |
subtask_01_43.txt |
test_44 |
subtask_01_44.txt |
test_45 |
subtask_01_45.txt |
test_46 |
subtask_01_46.txt |
test_47 |
subtask_01_47.txt |
test_48 |
subtask_01_48.txt |
test_49 |
subtask_01_49.txt |
test_50 |
subtask_01_50.txt |
Case Name |
Status |
Exec Time |
Memory |
subtask_01_01.txt |
AC |
42 ms |
720 KB |
subtask_01_02.txt |
AC |
39 ms |
720 KB |
subtask_01_03.txt |
AC |
41 ms |
720 KB |
subtask_01_04.txt |
AC |
43 ms |
720 KB |
subtask_01_05.txt |
AC |
43 ms |
720 KB |
subtask_01_06.txt |
AC |
42 ms |
720 KB |
subtask_01_07.txt |
AC |
42 ms |
716 KB |
subtask_01_08.txt |
AC |
41 ms |
720 KB |
subtask_01_09.txt |
AC |
43 ms |
724 KB |
subtask_01_10.txt |
AC |
40 ms |
720 KB |
subtask_01_11.txt |
AC |
42 ms |
636 KB |
subtask_01_12.txt |
AC |
44 ms |
724 KB |
subtask_01_13.txt |
AC |
42 ms |
716 KB |
subtask_01_14.txt |
AC |
43 ms |
720 KB |
subtask_01_15.txt |
AC |
41 ms |
592 KB |
subtask_01_16.txt |
AC |
43 ms |
716 KB |
subtask_01_17.txt |
AC |
42 ms |
720 KB |
subtask_01_18.txt |
AC |
39 ms |
716 KB |
subtask_01_19.txt |
AC |
43 ms |
716 KB |
subtask_01_20.txt |
AC |
41 ms |
672 KB |
subtask_01_21.txt |
AC |
41 ms |
716 KB |
subtask_01_22.txt |
AC |
44 ms |
672 KB |
subtask_01_23.txt |
AC |
42 ms |
716 KB |
subtask_01_24.txt |
AC |
44 ms |
588 KB |
subtask_01_25.txt |
AC |
41 ms |
724 KB |
subtask_01_26.txt |
AC |
40 ms |
720 KB |
subtask_01_27.txt |
AC |
41 ms |
720 KB |
subtask_01_28.txt |
AC |
43 ms |
720 KB |
subtask_01_29.txt |
AC |
44 ms |
720 KB |
subtask_01_30.txt |
AC |
42 ms |
716 KB |
subtask_01_31.txt |
AC |
43 ms |
592 KB |
subtask_01_32.txt |
AC |
44 ms |
724 KB |
subtask_01_33.txt |
AC |
42 ms |
592 KB |
subtask_01_34.txt |
AC |
40 ms |
716 KB |
subtask_01_35.txt |
AC |
41 ms |
720 KB |
subtask_01_36.txt |
AC |
42 ms |
720 KB |
subtask_01_37.txt |
AC |
43 ms |
720 KB |
subtask_01_38.txt |
AC |
43 ms |
720 KB |
subtask_01_39.txt |
AC |
44 ms |
716 KB |
subtask_01_40.txt |
AC |
43 ms |
716 KB |
subtask_01_41.txt |
AC |
42 ms |
720 KB |
subtask_01_42.txt |
AC |
39 ms |
716 KB |
subtask_01_43.txt |
AC |
41 ms |
716 KB |
subtask_01_44.txt |
AC |
41 ms |
724 KB |
subtask_01_45.txt |
AC |
40 ms |
592 KB |
subtask_01_46.txt |
AC |
43 ms |
720 KB |
subtask_01_47.txt |
AC |
41 ms |
716 KB |
subtask_01_48.txt |
AC |
42 ms |
720 KB |
subtask_01_49.txt |
AC |
42 ms |
724 KB |
subtask_01_50.txt |
AC |
39 ms |
720 KB |