Submission #1416873
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define REP(i,n) for(int i=0;i<(n);i++)
typedef long long ll;
typedef vector<int> vi;
typedef pair<int,int> pii;
int n,m,h;
ll a[125252];
const int N = 1<<18;
ll seg[2*N-1];
ll segget(int p){
p += N-1;
ll ret = seg[p];
while(p>0){
p = (p-1)/2;
ret += seg[p];
}
return ret;
}
void segadd(int l,int r,ll v,int a,int b,int k){
if(r<=a || b<=l)return;
if(l<=a && b<=r){
seg[k]+=v;
return;
}
int m = (a+b)/2;
segadd(l,r,v,a,m,2*k+1);
segadd(l,r,v,m,b,2*k+2);
}
void segadd(int l,int r,ll v){
segadd(l,r,v,0,N,0);
}
void segset(int p,ll v){
ll x = segget(p);
segadd(p,p+1,v-x);
}
int main(){
scanf("%d%d%d",&n,&m,&h);
REP(i,n)scanf("%d",a+i);
const ll INF = 1e17;
segadd(0,N,INF);
segset(0,0);
REP(i,n){
segset(i+1,a[i]);
a[i+1] += a[i];
}
// REP(i,n+1)cout << segget(i) << endl;
while(m--){
char op[25];
ll x;
scanf("%s%lld",op,&x);
if(op[0] == 'a'){
ll po = segget(n) + x;
segset(n+1,po);
n++;
}else{
// REP(i,n+1)cout << segget(i) << endl;
// check
ll c = x - h;
// seg[i] <= c
int ok = 0;
int ng = N;
while(ng-ok>1){
int mid = (ok+ng)/2;
if(segget(mid)<=c){
ok = mid;
}else{
ng = mid;
}
}
int id = ok;
ll lower = segget(id);
ll higher = segget(id+1);
// cout << id << " " << n << " " << lower << " " << higher << endl;
if(higher >= INF/2){
puts("miss");
}else if(segget(id+2)<INF/2 && higher < x+h){
puts("stop");
}else{
puts("go");
ll hh = higher - lower;
segadd(id+1,N,-hh);
}
}
}
return 0;
}
Submission Info
Submission Time
2017-07-11 19:59:18+0900
Task
G - だるま落とし
User
rickytheta
Language
C++14 (GCC 5.4.1)
Score
0
Code Size
1832 Byte
Status
WA
Exec Time
88 ms
Memory
4480 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:43:25: warning: format ‘%d’ expects argument of type ‘int*’, but argument 2 has type ‘ll* {aka long long int*}’ [-Wformat=]
REP(i,n)scanf("%d",a+i);
^
./Main.cpp:42:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d",&n,&m,&h);
^
./Main.cpp:43:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
REP(i,n)scanf("%d",a+i);
^
./Main.cpp:55:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%s%lld",op,&x);
^
Judge Result
Set Name
small
large
Score / Max Score
0 / 20
0 / 80
Status
Set Name
Test Cases
small
small/case_000.txt, small/case_002.txt, small/case_003.txt, small/case_005.txt, small/case_006.txt, small/case_007.txt, small/case_008.txt, small/case_009.txt, small/case_010.txt, small/case_011.txt, small/case_012.txt, small/case_013.txt, small/case_014.txt, small/case_015.txt, small/case_016.txt, small/case_017.txt, small/case_018.txt, small/case_019.txt, small/case_020.txt, small/case_021.txt, small/case_022.txt, small/case_023.txt, small/case_024.txt, small/case_025.txt, small/case_026.txt, small/case_027.txt, small/case_028.txt, small/case_029.txt, small/case_030.txt, small/case_031.txt, small/case_032.txt, small/case_033.txt, small/case_034.txt, small/case_035.txt, small/case_036.txt, small/case_037.txt
large
large/case_000.txt, large/case_002.txt, large/case_003.txt, large/case_005.txt, large/case_006.txt, large/case_007.txt, large/case_008.txt, large/case_009.txt, large/case_010.txt, large/case_011.txt, large/case_012.txt, large/case_013.txt, large/case_014.txt, large/case_015.txt, large/case_016.txt, large/case_017.txt, large/case_018.txt, large/case_019.txt, large/case_020.txt, large/case_021.txt, large/case_022.txt, large/case_023.txt, large/case_024.txt, large/case_025.txt, large/case_026.txt, large/case_027.txt, large/case_028.txt, large/case_029.txt, large/case_030.txt, large/case_031.txt, large/case_032.txt, large/case_033.txt, large/case_034.txt, large/case_035.txt, large/case_036.txt, large/case_037.txt, large/large_case_000.txt, large/large_case_001.txt, large/large_case_002.txt, large/large_case_003.txt, large/large_case_004.txt, large/large_case_005.txt, large/large_case_006.txt, large/large_case_007.txt, large/large_case_008.txt, large/large_case_009.txt, large/large_case_010.txt, large/large_case_011.txt, large/large_case_012.txt, large/large_case_013.txt, large/large_case_014.txt, large/large_case_015.txt, large/large_case_016.txt, large/large_case_017.txt, large/large_case_018.txt, large/large_case_019.txt, large/large_case_020.txt, large/large_case_021.txt, large/large_case_022.txt, large/large_case_023.txt, large/large_case_024.txt, large/large_case_025.txt, large/large_case_026.txt, large/large_case_027.txt, large/large_case_028.txt, large/large_case_029.txt
Case Name
Status
Exec Time
Memory
large/case_000.txt
AC
2 ms
2304 KB
large/case_002.txt
AC
2 ms
2304 KB
large/case_003.txt
AC
2 ms
2304 KB
large/case_005.txt
AC
2 ms
2304 KB
large/case_006.txt
WA
2 ms
2304 KB
large/case_007.txt
WA
2 ms
2304 KB
large/case_008.txt
AC
2 ms
2304 KB
large/case_009.txt
AC
2 ms
2304 KB
large/case_010.txt
AC
2 ms
2304 KB
large/case_011.txt
AC
2 ms
2304 KB
large/case_012.txt
AC
2 ms
2304 KB
large/case_013.txt
AC
2 ms
2304 KB
large/case_014.txt
AC
2 ms
2304 KB
large/case_015.txt
AC
2 ms
2304 KB
large/case_016.txt
AC
2 ms
2304 KB
large/case_017.txt
AC
2 ms
2304 KB
large/case_018.txt
AC
2 ms
2304 KB
large/case_019.txt
AC
2 ms
2304 KB
large/case_020.txt
AC
2 ms
2304 KB
large/case_021.txt
AC
2 ms
2304 KB
large/case_022.txt
WA
2 ms
2304 KB
large/case_023.txt
WA
2 ms
2304 KB
large/case_024.txt
WA
2 ms
2304 KB
large/case_025.txt
WA
2 ms
2304 KB
large/case_026.txt
WA
2 ms
2304 KB
large/case_027.txt
WA
2 ms
2304 KB
large/case_028.txt
WA
2 ms
2304 KB
large/case_029.txt
WA
2 ms
2304 KB
large/case_030.txt
WA
2 ms
2304 KB
large/case_031.txt
WA
2 ms
2304 KB
large/case_032.txt
WA
2 ms
2304 KB
large/case_033.txt
WA
2 ms
2304 KB
large/case_034.txt
AC
2 ms
2304 KB
large/case_035.txt
WA
2 ms
2304 KB
large/case_036.txt
WA
2 ms
2304 KB
large/case_037.txt
WA
3 ms
2304 KB
large/large_case_000.txt
AC
84 ms
4480 KB
large/large_case_001.txt
AC
86 ms
4352 KB
large/large_case_002.txt
AC
85 ms
4480 KB
large/large_case_003.txt
AC
85 ms
4480 KB
large/large_case_004.txt
AC
85 ms
4352 KB
large/large_case_005.txt
AC
86 ms
4352 KB
large/large_case_006.txt
AC
86 ms
4096 KB
large/large_case_007.txt
AC
86 ms
4352 KB
large/large_case_008.txt
AC
86 ms
4352 KB
large/large_case_009.txt
AC
85 ms
4480 KB
large/large_case_010.txt
AC
55 ms
3072 KB
large/large_case_011.txt
AC
79 ms
3584 KB
large/large_case_012.txt
AC
84 ms
4480 KB
large/large_case_013.txt
AC
85 ms
4480 KB
large/large_case_014.txt
WA
88 ms
3840 KB
large/large_case_015.txt
WA
87 ms
3712 KB
large/large_case_016.txt
WA
86 ms
3840 KB
large/large_case_017.txt
WA
87 ms
3840 KB
large/large_case_018.txt
WA
87 ms
3840 KB
large/large_case_019.txt
WA
87 ms
3712 KB
large/large_case_020.txt
WA
86 ms
3712 KB
large/large_case_021.txt
WA
86 ms
3712 KB
large/large_case_022.txt
WA
86 ms
3712 KB
large/large_case_023.txt
WA
87 ms
3840 KB
large/large_case_024.txt
WA
87 ms
3840 KB
large/large_case_025.txt
WA
86 ms
3712 KB
large/large_case_026.txt
WA
87 ms
3712 KB
large/large_case_027.txt
WA
87 ms
3712 KB
large/large_case_028.txt
WA
87 ms
3712 KB
large/large_case_029.txt
WA
86 ms
3840 KB
small/case_000.txt
AC
2 ms
2304 KB
small/case_002.txt
AC
2 ms
2304 KB
small/case_003.txt
AC
2 ms
2304 KB
small/case_005.txt
AC
2 ms
2304 KB
small/case_006.txt
WA
2 ms
2304 KB
small/case_007.txt
WA
2 ms
2304 KB
small/case_008.txt
AC
2 ms
2304 KB
small/case_009.txt
AC
2 ms
2304 KB
small/case_010.txt
AC
2 ms
2304 KB
small/case_011.txt
AC
2 ms
2304 KB
small/case_012.txt
AC
2 ms
2304 KB
small/case_013.txt
AC
2 ms
2304 KB
small/case_014.txt
AC
2 ms
2304 KB
small/case_015.txt
AC
2 ms
2304 KB
small/case_016.txt
AC
2 ms
2304 KB
small/case_017.txt
AC
2 ms
2304 KB
small/case_018.txt
AC
2 ms
2304 KB
small/case_019.txt
AC
2 ms
2304 KB
small/case_020.txt
AC
2 ms
2304 KB
small/case_021.txt
AC
2 ms
2304 KB
small/case_022.txt
WA
2 ms
2304 KB
small/case_023.txt
WA
2 ms
2304 KB
small/case_024.txt
WA
2 ms
2304 KB
small/case_025.txt
WA
2 ms
2304 KB
small/case_026.txt
WA
2 ms
2304 KB
small/case_027.txt
WA
2 ms
2304 KB
small/case_028.txt
WA
2 ms
2304 KB
small/case_029.txt
WA
2 ms
2304 KB
small/case_030.txt
WA
2 ms
2304 KB
small/case_031.txt
WA
2 ms
2304 KB
small/case_032.txt
WA
2 ms
2304 KB
small/case_033.txt
WA
2 ms
2304 KB
small/case_034.txt
AC
2 ms
2304 KB
small/case_035.txt
WA
2 ms
2304 KB
small/case_036.txt
WA
2 ms
2304 KB
small/case_037.txt
WA
2 ms
2304 KB