#15~#19WA求调
查看原帖
#15~#19WA求调
1417265
limaotong楼主2025/8/4 11:37
#include<bits/stdc++.h>
using namespace std;
int main() {
    int n;
    stack<int>lq,rq;
    cin>>n;
    for(int i=1;i<=n;i++){
        int op;
        cin>>op;
        if(op==1){
            int l,r;
            cin>>l>>r;
            lq.push(l);
            rq.push(r);
        }else{
            long long k,sum=0;
            cin>>k;
            while(1){
            	int x=rq.top()-lq.top()+1;
                if(x<k){
                    sum+=(lq.top()+rq.top())*x/2;
                    lq.pop();rq.pop();
                    k-=x;
                }else{
                    sum+=(rq.top()-k+1+rq.top())*k/2;
                    int y=rq.top();
                    rq.pop();
                    rq.push(y-k);
                    cout<<sum<<'\n';
                    break;
                }
            }
        }
    }
    return 0;
}
2025/8/4 11:37
加载中...