10分求助!!!!TAT
查看原帖
10分求助!!!!TAT
1172677
___ZHY楼主2024/10/5 16:10

7&8 AC 其他全wa

#include<bits/stdc++.h>
using namespace std;
int kkk,t,n,l,r,x,k,a[10000001],b[10000001],s=1,ans=0,z=0;//s当前挡位 ans距离 z当前转速 time最大转速时间 
int main(){
    //freopen("license.in","r",stdin);
	//freopen("license.out","w",stdout);
	cin>>t>>n>>l>>r>>x>>k;//t时间n挡位l初始转速r最大转速x增加转速k临界时间 
	z=l;
	for(int i=1;i<=t;i++){
		cin>>a[i]>>b[i];
		if(a[i]==0){
			s++;
			if(s>n){
				cout<<"-1";
				return 0;
			}
			else{
				if(b[i]==1){
					z=l+x;
					if(z>r) z=r;
				}
				else z=l;
				ans=ans+z*s;
			}
			if(z==r){
				if(kkk>=k){
					cout<<ans;
					return 0;
				}
				kkk++;
			}
		}
		if(a[i]==1){
			s--;
			if(s<1){
				cout<<"-1";
				return 0;
			}
			else{
				if(b[i]==1) z=r;
				else z=l;
				ans=ans+z*s;
			}
		}
		if(a[i]==2){
			if(b[i]==0) z=l;
			else{
				z+=x;
				if(z>r) z=r;
			}
			if(z==r){
			if(kkk>=k){
				cout<<ans;
				return 0;
			}
			kkk++;
			}
            ans=ans+z*s;
		}
	}
	cout<<ans;
    return 0;
}
2024/10/5 16:10
加载中...