This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |