Pagini recente » Cod sursa (job #1032344) | Cod sursa (job #2649232) | Cod sursa (job #336887) | Cod sursa (job #2040861) | Cod sursa (job #2443914)
#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;
}