0分求助
查看原帖
0分求助
598151
Ntokisq楼主2022/10/26 13:38

全是TLE和RE

#include<bits/stdc++.h>
using namespace std;
long long n,l;
int d[100005],t[100005];
int w[10005][10005];
long long ans(int x,int y,int cnt){
	if(cnt==0)
		return w[x][y];
	long long m,ml,mr;
	m=2*w[0][l];
	for(int k=x+1;k<=y-1;k++){
		ml=ans(x,k,cnt-1);
		mr=ans(k,y,cnt-1);
		m=min(m,ml+mr);
	}
	return m;
}
int main(){
	scanf("%d%d",&n,&l);
	for(int i=0;i<n;i++)
		scanf("%d%d",&d[i],&t[i]);
	for(int i=0;i<=l;i++){
		for(int j=i;j<=l;j++){
			for(int k=0;k<n;k++){
				if(d[k]>i&&d[k]<j){
					w[i][j]+=(j-d[k])*t[k];
				}
			}
		}
	}
	printf("%d",ans(0,l,2));
	return 0;
}
2022/10/26 13:38
加载中...