Cod sursa(job #2443914)

Utilizator RaduXD1Nicolae Radu RaduXD1 Data 29 iulie 2019 18:47:09
Problema Amenzi Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 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,v[3501][3];
int main(){
    fin>>n>>m>>k>>p;
    for(i=1;i<=m;i++)
    {
        fin>>a>>b>>c;
        v[i][0]=a;v[i][1]=b;v[i][2]=c;
    }
    for(i=m+1;i<=m+n;i++) v[i][0]=i-m,v[i][1]=i-m,v[i][2]=1;m+=n;
    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<=m;i++)
        {
            a=v[i][0];b=v[i][1];c=v[i][2];
            if(t-c>=0) d[a][t]=max(d[a][t],d[b][t-c]),d[b][t]=max(d[b][t],d[a][t-c]);
        }
        for(i=1;i<=n;i++) 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;
}