社区讨论

极限50分

P5269欧稳欧再次学车参与者 2已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@mi7wwosj
此快照首次捕获于
2025/11/21 04:57
4 个月前
此快照最后确认于
2025/11/21 04:57
4 个月前
查看原帖
不知道怎么回事,就五十分,死了,调了好长时间都没有看出来哪里出了问题
CPP
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
long long t,n,l,r,x,k;
long long nowd=1,nowz,kk=0;
bool ting=0,p=0;
long long ans=0;            
void add(long long w,long long q){       	
	if(p==1)  return ;      
	if(ting==1)  return;   
	if(w==0)  {
		if(nowd==n)  {
			printf("-1");p=1;return ;
		}
		nowd++;nowz=l;
		if(q==0)  kk=0;
		if(q==1) {
			nowz=min(nowz+x,r);
			if(nowz==r)  kk++;
		} 
		if(kk==k)  ting=1;
		ans+=nowd*nowz;
	}
	if(w==1)  {
		if(nowd==1){
			printf("-1");p=1;return ;
		}
		nowd--;kk++;nowz=r;
		if(kk=k)  ting=1;
		ans+=nowd*nowz;
	}
	if(w==2)  {
		if(q==0)  {
			if(nowz==r)  kk++;
		}
		if(kk==k)  ting=1;
		if(q==1)  {
			nowz=min(nowz+x,r);
			if(nowz==r)  kk++;
		}
		if(kk==k)  ting=1;
		ans+=nowz*nowd;
	}
}
int main(){
	//freopen("std.txt","r",stdin);
	scanf("%lld%lld%lld%lld%lld%lld",&t,&n,&l,&r,&x,&k);nowz=l;
	for(int i=1;i<=t;i++){
		long long pp,tt;
		scanf("%lld%lld",&pp,&tt);
		add(pp,tt);
	}
	if(p==0) printf("%lld",ans);
	return 0;
} 

回复

6 条回复,欢迎继续交流。

正在加载回复...