Submission #1200817

#TimeUsernameProblemLanguageResultExecution timeMemory
1200817053thousandTravelling Merchant (APIO17_merchant)C++20
0 / 100
1089 ms1316 KiB
#include <bits/stdc++.h>
using namespace std;
    int a,b,c,d,e,f,g;
    vector<pair<int,int>> v[5005],w[5005];
    bool vis[5005];
int dfs(int x,int y,int z){
    vis[x]=1;
    int temp=0;
    for(int i=0;i<v[x].size();i++){
        int y=max(y,v[x][i].second-v[1][i].first);
    }
    for(int i=0;i<w[x].size();i++){
        if(w[x][i].first==1){
            return y/(z+w[x][i].second);
        }
        else{
            if(vis[w[x][i].first]==0){
                temp=max(temp,dfs(w[x][i].first,y,z+w[x][i].second));
            }
        }
    }
    vis[x]=0;
    return temp;
}
int main(){
    cin>>a>>b>>c;
    for(int i=0;i<a;i++){
        for(int h=0;h<c;h++){
            cin>>d>>e;
            v[i].push_back({d,e});
        }
    }
    for(int i=0;i<b;i++){
        cin>>d>>e>>f;
        w[d].push_back({e,f});
    }
    cout<<dfs(1,0,0);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...