# include # include # include # include # include # include #include # include # include using namespace std; //mt19937 rand_Gen(15645865); const int MOD = 256; const clock_t begin_time = clock(); const float Final_Time = 1.8; const float Time_Per_Test = 0.5; vector > g[1005]; struct crime { int x,t,w; bool get; }; vector cr; vector f; int n,E,P,C; int pos[50],timet[50]; int newpos[50],ntime; priority_queue > q; int dist[1005][1005]; int par[1005][1005]; bool solved[1005]; int vis[1005],idvis=1; vector > ans[50],pom,ANS[50]; int dp[10005],fromwhere[10005]; void NEWANS() { int i,j; for(j=1;j<=P;j++){ ANS[j].clear(); for(i=0;idist[u][v]+g[v][i].second) { dist[u][g[v][i].first]=dist[u][v]+g[v][i].second; par[u][g[v][i].first]=v; q.push({-dist[u][g[v][i].first],g[v][i].first}); } } } } stack st; int solvespecialcase2(int h) { // cout<<"PK"<dp[i]) { dp[i] = dp[j]+f[i].w*f[i].w; fromwhere[i] = j; } } if(dp[i]>sum) { sum = dp[i]; id= i; } } // cout< "< > pp; bool solve(int k) { //cout<j.w; } bool cmpt(crime i, crime j) { if(i.t==j.t)return i.w>j.w; return i.t>n>>E>>P>>C; bool fl = true; int i,j,u,v,k; for(i=1;i<=E;i++) { cin>>u>>v>>k; g[u].push_back({v,k}); g[v].push_back({u,k}); } crime newcr; for(i=1;i<=C;i++) { cin>>u>>v>>k; newcr.x = u; newcr.t = v; newcr.w = k; if(k>1)fl=false; f.push_back(newcr); }int sum = 0,maxsum=0; if(fl==true) { for(i=1;i<=P;i++) { maxsum+=solvespecialcase2(i); // cout<