社区讨论
RE求调
P7870「Wdoi-4」兔已着陆参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lobnmi2w
- 此快照首次捕获于
- 2023/10/29 23:57 2 年前
- 此快照最后确认于
- 2023/11/04 04:43 2 年前
CODE
CPP#include<bits/stdc++.h>
using namespace std;
long long n,op,l,r,k,ans;
stack<long long>s;
long long read(){
long long s=0,f=1;
char ch=getchar();
while (!isdigit(ch)){
if (ch=='-') f=-1;
ch=getchar();
}
while (isdigit(ch)){
s=(s<<3)+(s<<1)+(ch^48);
ch=getchar();
}
return s*f;
}
int main(){
n=read();
for (int i=1;i<=n;i++){
op=read();
if (op&1){
l=read(),r=read();
s.push(l);
s.push(r);
}
else{
ans=0;
k=read();
r=s.top();s.pop();
l=s.top();s.pop();
while (k>r-l+1){
ans+=(l+r)*(r-l+1)/2;
k-=r-l+1;
r=s.top();s.pop();
l=s.top();s.pop();
}
if (k<r-l+1){
ans+=(r-k+1+r)*k/2;
s.push(r-k);
}
if (k==r-l+1) ans+=(l+r)*k/2;
cout<<ans<<endl;
}
}
return 0;
}
样例前两个能过(60、44),第三个(124)RE了
回复
共 2 条回复,欢迎继续交流。
正在加载回复...