社区讨论
18分求助!!!
P9011 [USACO23JAN] Air Cownditioning II B参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lx7ht5bm
- 此快照首次捕获于
- 2024/06/09 20:00 2 年前
- 此快照最后确认于
- 2024/06/09 22:50 2 年前
红 + 绿,无 TLE
CPP#include<bits/stdc++.h>
using namespace std;
int a[110],l[110],r[110],c[20],s[110],x[110],money,n,m,maxa,ans=1e9;
bool vis[20];
bool k(){
for (int i=1;i<=maxa;i++)
if (a[i]>x[i])
return false;
return true;
}
void dfs(int a){
if (vis[a]==1)
return;
vis[a]=1;
for (int i=l[a];i<=r[a];i++)
x[i]+=c[a];
money+=s[a];
if (k())
ans=min(ans,money);
for (int i=1;i<=m;i++)
dfs(i);
money-=s[a];
for (int i=l[a];i<=r[a];i++)
x[i]-=c[a];
vis[a]=0;
}
int main(){
int tmp1,tmp2,tmp3;
cin>>n>>m;
for (int i=1;i<=n;i++){
cin>>tmp1>>tmp2>>tmp3;
if (i==n)
maxa=tmp2;
for (int j=tmp1;j<=tmp2;j++)
a[j]=tmp3;
}
for (int i=1;i<=m;i++)
cin>>l[i]>>r[i]>>c[i]>>s[i];
dfs(1);
cout<<ans;
}```
回复
共 1 条回复,欢迎继续交流。
正在加载回复...