样例过,交上去全re/wa 10pts
查看原帖
样例过,交上去全re/wa 10pts
581345
Zpril_20211017楼主2023/12/5 17:27
using namespace std;

int main()
{
    int n;
    cin >> n;
    stack<pair<int,int> > s;
    while(n--)
    {
        int op;
        cin >> op;
        if(op == 1)
        {
            int l,r;
            cin >> l >> r;
            s.push(make_pair(l,r));
        }
        else
        {
            int k,l,m = 0;
            cin >> k;
            int cnt = 0;
            while(cnt < k)
            {
                int a = s.top().first;
                int b = s.top().second;
                l = a;
                cnt += b - a + 1;
                m += (a + b) * (b - a + 1) / 2;
                s.pop();
            }
            if(cnt > k)
            {
                int r = l + cnt - k - 1;
                m -= (l + r) * (r - l + 1) / 2;
                s.push(make_pair(l,r));
                cout << m << endl;
            }
        }
    }
    return 0;
}```
2023/12/5 17:27
加载中...