Submission #61411


Source Code Expand

#include<cstdio>
#include<cassert>

#define rep(i,n) for(int i=0;i<(n);i++)

using namespace std;

typedef long long ll;

const int N_MAX=2000000;

template<class T>
class Fenwick_tree{
	int n;
	T a[N_MAX];

public:
	void build(int n){
		this->n=n;
		rep(i,n) a[i]=0;
	}

	void add(int i,T v){
		for(;i<n;i|=i+1) a[i]+=v;
	}

	T sum(int i,int j){
		if(i==0){
			T s=0;
			for(;j>=0;j=(j&(j+1))-1) s+=a[j];
			return s;
		}
		return sum(0,j)-sum(0,i-1);
	}
};

int main(){
	int n,q,H; scanf("%d%d%d",&n,&q,&H);
	static Fenwick_tree<ll> F;
	F.build(n+q);
	rep(i,n){
		int a; scanf("%d",&a);
		F.add(i,a);
	}

	while(q--){
		char op[16];
		ll h; scanf("%s%lld",op,&h);
		if(op[0]=='a'){
			F.add(n++,h);
		}
		else{
			if(F.sum(0,n-1)<=h-H){
				puts("miss");
			}
			else{
				int lo=-1,hi=n-1;
				while(lo<hi){
					int mi=(lo+hi+1)/2;
					if(F.sum(0,mi)<=h-H) lo=mi; else hi=mi-1;
				}
				assert(h-H>=0);
				ll h0=F.sum(0,lo),a=F.sum(lo+1,lo+1);
				if(F.sum(lo+2,n-1)==0 || h0+a>=h+H){
					puts("go");
					F.add(lo+1,-a);
				}
				else{
					puts("stop");
				}
			}
		}
	}

	return 0;
}

Submission Info

Submission Time
Task G - だるま落とし
User fura2
Language C++ (G++ 4.6.4)
Score 100
Code Size 1173 Byte
Status AC
Exec Time 173 ms
Memory 2488 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:38:37: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:42:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:48:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]

Judge Result

Set Name small large
Score / Max Score 20 / 20 80 / 80
Status
AC × 36
AC × 66
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 34 ms 664 KB
large/case_002.txt AC 32 ms 652 KB
large/case_003.txt AC 19 ms 656 KB
large/case_005.txt AC 19 ms 656 KB
large/case_006.txt AC 19 ms 648 KB
large/case_007.txt AC 18 ms 664 KB
large/case_008.txt AC 19 ms 656 KB
large/case_009.txt AC 19 ms 660 KB
large/case_010.txt AC 19 ms 656 KB
large/case_011.txt AC 20 ms 652 KB
large/case_012.txt AC 20 ms 656 KB
large/case_013.txt AC 22 ms 656 KB
large/case_014.txt AC 20 ms 656 KB
large/case_015.txt AC 20 ms 660 KB
large/case_016.txt AC 19 ms 656 KB
large/case_017.txt AC 18 ms 656 KB
large/case_018.txt AC 18 ms 656 KB
large/case_019.txt AC 19 ms 656 KB
large/case_020.txt AC 19 ms 660 KB
large/case_021.txt AC 19 ms 652 KB
large/case_022.txt AC 21 ms 632 KB
large/case_023.txt AC 20 ms 664 KB
large/case_024.txt AC 20 ms 656 KB
large/case_025.txt AC 29 ms 652 KB
large/case_026.txt AC 20 ms 652 KB
large/case_027.txt AC 19 ms 640 KB
large/case_028.txt AC 19 ms 648 KB
large/case_029.txt AC 18 ms 652 KB
large/case_030.txt AC 21 ms 648 KB
large/case_031.txt AC 29 ms 656 KB
large/case_032.txt AC 19 ms 684 KB
large/case_033.txt AC 18 ms 652 KB
large/case_034.txt AC 19 ms 656 KB
large/case_035.txt AC 19 ms 660 KB
large/case_036.txt AC 19 ms 664 KB
large/case_037.txt AC 20 ms 652 KB
large/large_case_000.txt AC 147 ms 2300 KB
large/large_case_001.txt AC 153 ms 2320 KB
large/large_case_002.txt AC 140 ms 2360 KB
large/large_case_003.txt AC 142 ms 2356 KB
large/large_case_004.txt AC 138 ms 2364 KB
large/large_case_005.txt AC 147 ms 2356 KB
large/large_case_006.txt AC 142 ms 2356 KB
large/large_case_007.txt AC 138 ms 2352 KB
large/large_case_008.txt AC 140 ms 2352 KB
large/large_case_009.txt AC 141 ms 2364 KB
large/large_case_010.txt AC 82 ms 2168 KB
large/large_case_011.txt AC 135 ms 2224 KB
large/large_case_012.txt AC 130 ms 2364 KB
large/large_case_013.txt AC 145 ms 2356 KB
large/large_case_014.txt AC 155 ms 2488 KB
large/large_case_015.txt AC 149 ms 2476 KB
large/large_case_016.txt AC 153 ms 2476 KB
large/large_case_017.txt AC 151 ms 2484 KB
large/large_case_018.txt AC 152 ms 2480 KB
large/large_case_019.txt AC 151 ms 2488 KB
large/large_case_020.txt AC 152 ms 2388 KB
large/large_case_021.txt AC 148 ms 2480 KB
large/large_case_022.txt AC 151 ms 2364 KB
large/large_case_023.txt AC 153 ms 2360 KB
large/large_case_024.txt AC 173 ms 2480 KB
large/large_case_025.txt AC 151 ms 2356 KB
large/large_case_026.txt AC 156 ms 2368 KB
large/large_case_027.txt AC 150 ms 2364 KB
large/large_case_028.txt AC 151 ms 2480 KB
large/large_case_029.txt AC 149 ms 2488 KB
small/case_000.txt AC 19 ms 660 KB
small/case_002.txt AC 18 ms 656 KB
small/case_003.txt AC 18 ms 652 KB
small/case_005.txt AC 18 ms 656 KB
small/case_006.txt AC 18 ms 656 KB
small/case_007.txt AC 18 ms 656 KB
small/case_008.txt AC 19 ms 652 KB
small/case_009.txt AC 18 ms 660 KB
small/case_010.txt AC 19 ms 660 KB
small/case_011.txt AC 19 ms 652 KB
small/case_012.txt AC 21 ms 648 KB
small/case_013.txt AC 19 ms 664 KB
small/case_014.txt AC 20 ms 648 KB
small/case_015.txt AC 18 ms 656 KB
small/case_016.txt AC 19 ms 656 KB
small/case_017.txt AC 19 ms 660 KB
small/case_018.txt AC 25 ms 664 KB
small/case_019.txt AC 35 ms 656 KB
small/case_020.txt AC 21 ms 656 KB
small/case_021.txt AC 18 ms 660 KB
small/case_022.txt AC 20 ms 652 KB
small/case_023.txt AC 21 ms 664 KB
small/case_024.txt AC 39 ms 632 KB
small/case_025.txt AC 20 ms 660 KB
small/case_026.txt AC 19 ms 624 KB
small/case_027.txt AC 20 ms 656 KB
small/case_028.txt AC 19 ms 656 KB
small/case_029.txt AC 20 ms 688 KB
small/case_030.txt AC 21 ms 676 KB
small/case_031.txt AC 19 ms 656 KB
small/case_032.txt AC 25 ms 652 KB
small/case_033.txt AC 19 ms 656 KB
small/case_034.txt AC 32 ms 652 KB
small/case_035.txt AC 19 ms 672 KB
small/case_036.txt AC 19 ms 648 KB
small/case_037.txt AC 20 ms 660 KB