Submission #1173210
Source Code Expand
#include <numeric>
#include <map>
#include <algorithm>
#include <iostream>
#include <queue>
#define REP(i,n) for(int i=0; i<(int)(n); i++)
#include <cstdio>
inline int getInt(){ int s; scanf("%d", &s); return s; }
#include <set>
using namespace std;
void fill(int i){
printf("fill %d\n", i + 1);
fflush(stdout);
}
void change(int i){
printf("change %d\n", i + 1);
fflush(stdout);
}
void sell(int d, const vector<int> &a){
const int n = a.size();
vector<pair<int, int> > v(n);
REP(i,n){
v[i].first = a[i];
v[i].second = i;
}
sort(v.rbegin(), v.rend());
vector<int> res;
int sum = 0;
REP(i,n){
if(v[i].first != 0 && sum + v[i].first <= d){
sum += v[i].first;
res.push_back(v[i].second);
}
}
printf("sell %d", (int)res.size());
REP(i,res.size()) printf(" %d", res[i] + 1);
puts("");
fflush(stdout);
}
void pass(){
printf("pass\n");
fflush(stdout);
}
int needT(vector<int> c, int d){
const int n = c.size();
sort(c.rbegin(), c.rend());
int sum = 0;
REP(i,n){
if(sum + c[i] <= d){
sum += c[i];
if(sum == d) return i + 1;
}
}
return -1;
}
int main(){
const int n = 8;
REP(i,1000){
const int d = getInt();
const int t = getInt();
vector<int> c(n);
vector<int> a(n);
REP(i,n) c[i] = getInt();
REP(i,n) a[i] = getInt();
vector<int> need(n);
map<int, int> cnt;
REP(i,n){
if(c[i] == 1 || c[i] == 2 || c[i] == 4 || c[i] == 8){
if(cnt[c[i]] == 0)
need[i] = 1;
cnt[c[i]]++;
}else if(c[i] == 10){
if(cnt[c[i]] < 4)
need[i] = 1;
cnt[c[i]]++;
}
}
if(accumulate(need.begin(), need.end(), 0) == n){
const int sum = accumulate(a.begin(), a.end(), 0);
if(sum == 0){
if(needT(c, d) > t){
pass();
goto end;
}
}
if(sum == d){
sell(d, a);
}else{
vector<pair<int, int> > v;
REP(i,n) if(a[i] == 0)
v.push_back(make_pair(c[i], i));
sort(v.rbegin(), v.rend());
REP(i,v.size()) if(sum + v[i].first <= d){
fill(v[i].second);
break;
}
}
}else{
REP(i,n) if(!need[i]){
change(i);
break;
}
}
end:;
}
return 0;
}
Submission Info
Submission Time
2017-03-20 14:24:59+0900
Task
A - 石油王Xの憂鬱
User
yukim
Language
C++14 (GCC 5.4.1)
Score
615490
Code Size
2430 Byte
Status
TLE
Exec Time
2103 ms
Memory
724 KB
Compile Error
./Main.cpp: In function ‘int getInt()’:
./Main.cpp:9:44: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
inline int getInt(){ int s; scanf("%d", &s); return s; }
^
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
0 / 417500
0 / 417500
32709 / 417500
25358 / 417500
0 / 417500
0 / 417500
25972 / 417500
34966 / 417500
28011 / 417500
0 / 417500
0 / 417500
27742 / 417500
0 / 417500
0 / 417500
28645 / 417500
0 / 417500
29083 / 417500
0 / 417500
0 / 417500
34342 / 417500
0 / 417500
0 / 417500
34287 / 417500
0 / 417500
0 / 417500
0 / 417500
27225 / 417500
0 / 417500
0 / 417500
0 / 417500
26368 / 417500
23263 / 417500
0 / 417500
31922 / 417500
28970 / 417500
0 / 417500
0 / 417500
0 / 417500
0 / 417500
0 / 417500
0 / 417500
0 / 417500
28558 / 417500
29456 / 417500
26474 / 417500
32692 / 417500
0 / 417500
0 / 417500
28129 / 417500
31318 / 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
TLE
2103 ms
720 KB
subtask_01_02.txt
TLE
2103 ms
716 KB
subtask_01_03.txt
AC
49 ms
724 KB
subtask_01_04.txt
AC
44 ms
596 KB
subtask_01_05.txt
TLE
2103 ms
720 KB
subtask_01_06.txt
TLE
2103 ms
720 KB
subtask_01_07.txt
AC
42 ms
596 KB
subtask_01_08.txt
AC
43 ms
720 KB
subtask_01_09.txt
AC
43 ms
720 KB
subtask_01_10.txt
TLE
2103 ms
592 KB
subtask_01_11.txt
TLE
2103 ms
720 KB
subtask_01_12.txt
AC
39 ms
716 KB
subtask_01_13.txt
TLE
2103 ms
724 KB
subtask_01_14.txt
TLE
2103 ms
724 KB
subtask_01_15.txt
AC
41 ms
724 KB
subtask_01_16.txt
TLE
2103 ms
720 KB
subtask_01_17.txt
AC
39 ms
720 KB
subtask_01_18.txt
TLE
2103 ms
720 KB
subtask_01_19.txt
TLE
2103 ms
724 KB
subtask_01_20.txt
AC
39 ms
720 KB
subtask_01_21.txt
TLE
2103 ms
720 KB
subtask_01_22.txt
TLE
2103 ms
716 KB
subtask_01_23.txt
AC
39 ms
720 KB
subtask_01_24.txt
TLE
2103 ms
720 KB
subtask_01_25.txt
TLE
2103 ms
724 KB
subtask_01_26.txt
TLE
2103 ms
592 KB
subtask_01_27.txt
AC
47 ms
720 KB
subtask_01_28.txt
TLE
2103 ms
720 KB
subtask_01_29.txt
TLE
2103 ms
720 KB
subtask_01_30.txt
TLE
2103 ms
716 KB
subtask_01_31.txt
AC
53 ms
596 KB
subtask_01_32.txt
AC
44 ms
720 KB
subtask_01_33.txt
TLE
2103 ms
720 KB
subtask_01_34.txt
AC
55 ms
596 KB
subtask_01_35.txt
AC
43 ms
720 KB
subtask_01_36.txt
TLE
2103 ms
720 KB
subtask_01_37.txt
TLE
2103 ms
716 KB
subtask_01_38.txt
TLE
2103 ms
720 KB
subtask_01_39.txt
TLE
2103 ms
720 KB
subtask_01_40.txt
TLE
2103 ms
720 KB
subtask_01_41.txt
TLE
2103 ms
724 KB
subtask_01_42.txt
TLE
2103 ms
592 KB
subtask_01_43.txt
AC
49 ms
724 KB
subtask_01_44.txt
AC
42 ms
720 KB
subtask_01_45.txt
AC
41 ms
720 KB
subtask_01_46.txt
AC
43 ms
596 KB
subtask_01_47.txt
TLE
2103 ms
724 KB
subtask_01_48.txt
TLE
2103 ms
716 KB
subtask_01_49.txt
AC
41 ms
592 KB
subtask_01_50.txt
AC
43 ms
716 KB