Submission #1170798

#TimeUsernameProblemLanguageResultExecution timeMemory
1170798mahmudow_mahmytTravelling Merchant (APIO17_merchant)C++20
0 / 100
9 ms1856 KiB
#include<bits/stdc++.h> #define ll long long #define ff first #define ss second #define mxn 100002 #define pb push_back #define yes cout<<"YES"<<endl #define no cout<<"NO"<<endl using namespace std; int n,m,k,b[102][9902],s[102][9902],u,w,t,ans; vector<pair<int,int>> d[102]; bool vis[102]; void dfs(int node,int val,vector<int> &tap,int level){ vis[node]=true; for(int i=1;i<=k;i++) tap[i]=max(tap[i],b[1][i]-s[node][i]); for(pair<int,int> i:d[node]){ if(vis[i.ff]==false){ dfs(i.ff,val+i.ss,tap,level+1); }else{ int sum=0; for(int i=1;i<=k;i++) sum+=tap[i]; ans=max(ans,(sum-val)/level); } } } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); // freopen("input.txt","r",stdin); // freopen("output.txt","w",stdout); cin>>n>>m>>k; for(int i=1;i<=n;i++){ for(int j=1;j<=k;j++){ cin>>b[i][j]>>s[i][j]; } } for(int i=1;i<=m;i++){ cin>>u>>w>>t; d[u].pb({w,t}); } vector<int> tap(n+1,0); dfs(1,0,tap,0); cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...