求助32分
查看原帖
求助32分
679961
zhang_kevin楼主2022/11/18 20:32
#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read(){
	register int x = 0, f = 1;
	static char ch = getchar();
	while(!isdigit(ch)){
		if(ch == '-'){
			f = -1;
		}
		ch = getchar();
	}
	while(isdigit(ch)){
		x = (x<<1) + (x<<3) + (ch^48);
		ch = getchar();
	}
	return x * f;
}
const int C = read();
const int S = read();
const int R = read();
const int N = 60001;
struct Node{
	int o, d, n;
}a[N];
int f[N];
signed main(){
	for(int i = 1; i <= R; i++) a[i] = {read(), read(), read()};
	for(int i = 1; i <= R; i++){
		bool flag = true;
		int kkk;
		for(int j = a[i].o; j <= a[i].d; j++){
			f[j] += a[i].n;
			if(f[j] > S){
				flag = false;
				kkk = j;
				break;
			}
		}
		if(flag){
			puts("T");
		}else{
			puts("N");
			for(int j = a[i].o; j <= kkk; j++){
				f[j] -= a[i].n;
			}
		}
	}
	return 0;
}
2022/11/18 20:32
加载中...