Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#include
#include
#include
#include
using namespace std ; struct node{ int index,najmal_pat,money; node(int i,int p,int m){ index = i; najmal_pat = p; money = m; } bool operator < (const node &tmp)const { return najmal_pat > tmp.najmal_pat; } }; int dist[3005][2005]; int main() { int S, N , M; cin >> S >> N >> M; vector
graph[N+5]; for (int i = 0; i < M; i++) { int v,w,t,e; cin >> v >> w >> t >> e; graph[v].push_back(node(w,t,e)); graph[w].push_back(node(v,t,e)); } priority_queue
pq; pq.push(node(1,0,0)); for (int i = 0; i < 3005; i++) { for (int j = 0; j < 2005; j++) { dist[i][j] = 2e9; } } dist[1][0] = 0; while(!pq.empty()){ node current = pq.top(); pq.pop(); for (int i = 0; i < graph[current.index].size(); i++) { int sosed = graph[current.index][i].index; int pat = graph[current.index][i].najmal_pat; int pari = graph[current.index][i].money; if(pari+current.money <= S && current.najmal_pat + pat < dist[sosed][pari+current.money]){ dist[sosed][pari + current.money] = current.najmal_pat + pat; pq.push(node(sosed,current.najmal_pat +pat,current.money + pari)); } } } int rezultat= 2e9; for (int i = 0; i <= S; i++) { rezultat = min(dist[N][i], rezultat); } if (rezultat == 2e9){ cout << "-1"; } else cout << rezultat << endl; }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)