Submission #722434

#TimeUsernameProblemLanguageResultExecution timeMemory
722434Abrar_Al_SamitFood Court (JOI21_foodcourt)C++17
7 / 100
28 ms31340 KiB
#include<bits/stdc++.h>
using namespace std;

const int nax = 2004;
int n, m, q;

vector<pair<long long, int>>lines[nax];
long long rem[nax];

void PlayGround() {
	cin>>n>>m>>q;

	for(int i=1; i<=n; ++i) {
		lines[i].emplace_back(0LL, 0);
	}
	while(q--) {
		int tp;
		cin>>tp;
		if(tp==1) {
			int l, r, c, k;
			cin>>l>>r>>c>>k;

			for(int i=l; i<=r; ++i) {
				rem[i] = min(lines[i].back().first, rem[i]);
				lines[i].emplace_back(lines[i].back().first+k, c);
			}
		} else if(tp==2) {
			int l, r, k;
			cin>>l>>r>>k;
			for(int i=l; i<=r; ++i) {
				rem[i] += k;	
			}
		} else {
			long long a, b;
			cin>>a>>b;
			rem[a] = min(rem[a], lines[a].back().first);
			b += rem[a];
			if(b > lines[a].back().first) {
				cout<<"0\n";
			} else {
				auto it = lower_bound(lines[a].begin(), lines[a].end(), make_pair(b, -1));
				cout<<it->second<<'\n';
			}
		}
	}


	// cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
}
int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	PlayGround();
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...