Pagini recente » Cod sursa (job #621151) | Cod sursa (job #2236051) | Cod sursa (job #268588) | Cod sursa (job #1650747) | Cod sursa (job #2443919)
#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));
}
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++)
{
d[i][t]=max(d[i][t-1],d[i][t]);
for(auto it:v[i]) if(t-it.second>=0)
{
d[i][t]=max(d[i][t],d[it.first][t-it.second]);
d[it.first][t]=max(d[it.first][t],d[i][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;
}