哪位大佬能救救我?
查看原帖
哪位大佬能救救我?
1078808
M15388049303楼主2024/5/28 13:47
#include<bits/stdc++.h>
using namespace std;
int e,a[100001][3],i=1,cha,temp,down,num,maxn,price,p,zero;
int main() {
	cin>>e;
	while(cin>>a[i][1]>>a[i][2]&&a[i][1]!=-1&&a[i][2]!=-1) {
		i++;
		if(i>2&&a[i-1][1]-a[i-2][1]>1) {
			i--;
			cha=(a[i-1][2]-a[i][2])/(a[i][1]-a[i-1][1]);
			temp=a[i][1];
			for(int j=a[i-1][1]+1; j<=temp; j++) {
				a[i][1]=j;
				a[i][2]=a[i-1][2]-cha;
				i++;
			}
		}
	}
	i--;
	cin>>down;
	zero=a[i][2];
	while(zero>0){
		if(zero-down<0)break;
		zero=down;
		i++;
		a[i][1]=a[i-1][1]+1;
		a[i][2]=zero;
	}
	for(int j=1; j<=10000; j++) {
		maxn=-99999;
		for(int k=1; k<=i; k++) {
			num=(a[k][1]-a[1][1]+j)*a[k][2];
			if(num>=maxn){
				maxn=num;
				price=a[k][1];
				p=1;
			}
		}
		if(price==e){
			cout<<j*p<<endl;
			return 0;
		}
		maxn=-99999;
		for(int k=1; k<=i; k++) {
			num=(a[k][1]-a[1][1]-j)*a[k][2];
			if(num>=maxn){
				maxn=num;
				price=a[k][1];
				p=-1;
			}
		}
		if(price==e){
			cout<<j*p<<endl;
			return 0;
		}
	}
	cout<<"NO SOLUTION";
	return 0;
}

没输出!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2024/5/28 13:47
加载中...