https://ac.nowcoder.com/acm/contest/99784/E
#include<bits/stdc++.h>
#define lc p<<1
#define rc p<<1|1
#define INF 2e9
using namespace std;
#define endl '\n'
using ll = long long;
using pii = pair<ll, ll>;
const double PI = acos(-1);
const int N = 1e3+ 10;
const int mod = 1e9 + 7;
int n,C,m;
bool st[N];
vector<array<ll,3>> v1[N];
vector<pii> a;
ll f[N][5];
void solve() {
cin>>n>>C>>m;
a.resize(n+1);
for(int i=1;i<=n;i++){
cin>>a[i].first>>a[i].second;
}
int cnt=1;
for(int i=1;i<=m;i++){
ll x,y,w;cin>>x>>y>>w;
v1[cnt].push_back({a[x].first,a[x].second,1});
v1[cnt].push_back({a[y].first,a[y].second,1});
v1[cnt].push_back({a[x].first+a[y].first,a[x].second+a[y].second+w,2});
cnt++;
st[x]=st[y]=1;
}
for(int i=1;i<=n;i++){
if(!st[i]){
v1[cnt++].push_back({a[i].first,a[i].second,1});
}
}
ll ans=0;
for(int i=1;i<cnt;i++){
for(int j=C;j>=0;j--){
for(int k=4;k>=1;k--){
for(int p=v1[i].size()-1;p>=0;p--){
if(k-v1[i][p][2]>=0&&j-v1[i][p][0]>=0)
f[j][k]=max(f[j][k],f[j-v1[i][p][0]][k-v1[i][p][2]]+v1[i][p][1]);
ans=max(ans,f[j][k]);
}
}
}
}
cout<<ans;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
int T = 1;
// cin>>T;
while (T--) {
solve();
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库