这样写有啥问题想问下
查看原帖
这样写有啥问题想问下
317400
Foggy_night楼主2023/5/1 16:48

其中有些不确定的

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int MAXN = 100005;
struct money{
	int price, l;
}a[MAXN]; 
bool cmp(money x, money y){
	return x.price < y.price;
}
int main(){
	int n;
	cin >> n;//预期价
	int m = 0;
	int s, st;
	while(cin >> s >> st){
		if(s == -1 && st == -1)
			break;
		a[m].price = s, a[m].l = st;
		m++;
	}
	sort(a, a+m, cmp);
	int x;
	cin >> x;
	int t;//预期价的位置 
	int r = m;//扩大预期价 
	for(int i = 0; ; i++){
		if(a[i].price == n){
			t = i;
			break;
		}
		r++;
		a[r].price++;
		a[r].l -= x;
	}
	for(int j = 1; j <= MAXN; j++){
		int c[MAXN], maxn = -100000, p = 1;
		memset(c,0,sizeof(c));
		for(int i = 1; i <= r+1; i++){
			int q = a[i].price - a[i-1].price;
			c[i] = (q+j) * a[i].l;
			if(maxn < c[i])
				maxn = c[i], p = i;
		}
		if(p == r){
			cout << j;
			return 0;
		}
	}
	cout << "NO SOLITION"; 
	return 0;
}
2023/5/1 16:48
加载中...