求调
  • 板块灌水区
  • 楼主cx20120328
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/7/13 14:25
  • 上次更新2024/7/13 15:33:49
查看原帖
求调
1388228
cx20120328楼主2024/7/13 14:25
#include<bits/stdc++.h>
using namespace std;

int n,m,a[100086],b[100086],sum=1,cnt,sb;

int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>a[i]>>b[i];
	if(n==1&&m==1){
		cout<<"0";
		return 0;
	}
	for(int j=1;j<=n;j++){
		sum=1;
		for(int i=1;i<=n;i++){
			if(a[i]==a[i+1]){
				sum+=a[i];
				if(b[i]>b[i+1]&&sum<=m) {
					cnt+=b[i];
					a[i]=1000000;
				}
				else if(b[i]<b[i+1]&&sum<=m){
					cnt+=b[i+1];
					a[i+1]=1000000;
				}
			}
			else if(a[i]!=a[i+1]){
				sb=min(a[i],a[i+1]);
				sum+=sb;
				if(sb==a[i]&&sum<=m) {
					cnt+=b[i];
					a[i]=10000000;
				}
				else if(sb==a[i+1]&&sum<=m){
					cnt+=b[i+1];
					a[i+1]=1000000;
				}
			}
		}
	}	
	if(cnt==0) {
		cout<<cnt;
		return 0;
	}
	else cout<<cnt+1;
	return 0;
}
2024/7/13 14:25
加载中...