Cod sursa(job #2443901)

Utilizator RaduXD1Nicolae Radu RaduXD1 Data 29 iulie 2019 18:34:14
Problema Amenzi Scor 90
Compilator cpp-32 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("amenzi.in");
ofstream fout("amenzi.out");
int t,n,m,k,p,a,b,c,C[151][3501],d[151][3501],i;
vector<pair<int,int> > v[151];
int main(){
    fin>>n>>m>>k>>p;
    for(i=1;i<=m;i++)
    {
        fin>>a>>b>>c;
        v[a].push_back(make_pair(b,c));
        v[b].push_back(make_pair(a,c));
    }
    for(i=1;i<=k;i++)
    {
        fin>>a>>b>>c;
        C[a][b]+=c;
    }
    d[1][0]=1;
    for(t=1;t<=3500;t++)
    {
        for(i=1;i<=n;i++)
        {
            if(t!=0) d[i][t]=d[i][t-1];
            for(auto it:v[i]) if(t-it.second>=0) d[i][t]=max(d[i][t],d[it.first][t-it.second]);
            if(d[i][t]>0) d[i][t]+=C[i][t];
        }
    }
    for(i=1;i<=p;i++)
    {
        fin>>a>>b;
        fout<<d[a][b]-1<<"\n";
    }
    return 0;
}