| 15389 | 2025-02-19 10:50:55 | Ablablabla | Autópálya infláció | cpp17 | Wrong answer 0/100 | 103ms | 71664 KiB |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> pii;
const ll INF = 4e18 + 7;
const ll MOD = 1e9 + 7;
vector<ll> ans;
vector<ll> mely;
struct comp{
bool operator()(ll a, ll b){
if(ans[a] == ans[b]){
return mely[a] > mely[b];
}
return ans[a] > ans[b];
}
};
int main()
{
ll n, m;
cin >> n >> m;
vector<vector<ll>> csucsok(n, vector<ll>()), hossz(n, vector<ll>());
for(ll i = 0; i < m; i++){
ll a, b, c;
cin >> a >> b >> c;
a--; b--;
csucsok[a].push_back(b);
hossz[a].push_back(c);
csucsok[b].push_back(a);
hossz[b].push_back(c);
}
priority_queue<ll, vector<ll>, comp> bejar;
ans.assign(n, INF);
ans[0] = 0;
bejar.push(0);
vector<bool> bejart(n);
vector<vector<ll>> opciok(n, vector<ll>(n + 2, INF));
opciok[0][1] = 0;
mely.assign(n, 0);
while(!bejar.empty()){
ll akt = bejar.top();
bejar.pop();
if(bejart[akt]) continue;
bejart[akt] = 1;
for(ll i = 0; i < csucsok[akt].size(); i++){
ll kovi = csucsok[akt][i];
ll suly = hossz[akt][i];
if(bejart[kovi]) continue;
for(int i = 1; i <= n; i++){
if(opciok[akt][i] == INF) continue;
ll tav = (opciok[akt][i] + suly*(1ll << (i - 1))) % MOD;
opciok[kovi][i + 1] = min(opciok[kovi][i + 1], tav);
if(ans[kovi] > tav) mely[kovi] = i + 1;
ans[kovi] = min(ans[kovi], tav);
}
bejar.push(kovi);
}
}
for(int i = 1; i < n; i++){
cout << ans[i] % MOD << "\n";
}
/*for(int j = 1; j <= n; j++){
for(int i = 0; i < n; i++){
if(opciok[i][j] == INF){
cout << "-1\t";
} else{
cout << opciok[i][j] << "\t";
}
}
cout << "\n";
}*/
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Wrong answer | 100ms | 71476 KiB | ||||
| subtask2 | 0/8 | ||||||
| 3 | Accepted | 71ms | 71220 KiB | ||||
| 4 | Wrong answer | 85ms | 71220 KiB | ||||
| 5 | Wrong answer | 86ms | 71220 KiB | ||||
| 6 | Accepted | 83ms | 71376 KiB | ||||
| 7 | Wrong answer | 71ms | 71220 KiB | ||||
| subtask3 | 0/15 | ||||||
| 8 | Accepted | 1ms | 316 KiB | ||||
| 9 | Accepted | 1ms | 316 KiB | ||||
| 10 | Accepted | 1ms | 316 KiB | ||||
| 11 | Wrong answer | 1ms | 508 KiB | ||||
| 12 | Wrong answer | 1ms | 316 KiB | ||||
| 13 | Wrong answer | 1ms | 508 KiB | ||||
| 14 | Wrong answer | 1ms | 508 KiB | ||||
| 15 | Wrong answer | 1ms | 336 KiB | ||||
| 16 | Accepted | 1ms | 524 KiB | ||||
| 17 | Accepted | 1ms | 316 KiB | ||||
| 18 | Wrong answer | 1ms | 316 KiB | ||||
| subtask4 | 0/34 | ||||||
| 19 | Accepted | 82ms | 71552 KiB | ||||
| 20 | Wrong answer | 98ms | 71604 KiB | ||||
| 21 | Wrong answer | 101ms | 71664 KiB | ||||
| 22 | Wrong answer | 100ms | 71544 KiB | ||||
| 23 | Accepted | 97ms | 71556 KiB | ||||
| 24 | Wrong answer | 98ms | 71588 KiB | ||||
| 25 | Accepted | 83ms | 71524 KiB | ||||
| 26 | Accepted | 97ms | 71536 KiB | ||||
| 27 | Wrong answer | 93ms | 71400 KiB | ||||
| 28 | Wrong answer | 83ms | 70968 KiB | ||||
| 29 | Wrong answer | 70ms | 71220 KiB | ||||
| 30 | Wrong answer | 75ms | 62188 KiB | ||||
| 31 | Wrong answer | 83ms | 70708 KiB | ||||
| 32 | Wrong answer | 82ms | 70976 KiB | ||||
| 33 | Wrong answer | 94ms | 70992 KiB | ||||
| subtask5 | 0/21 | ||||||
| 34 | Wrong answer | 4ms | 2356 KiB | ||||
| 35 | Wrong answer | 7ms | 2356 KiB | ||||
| 36 | Wrong answer | 7ms | 2664 KiB | ||||
| 37 | Wrong answer | 7ms | 2356 KiB | ||||
| 38 | Wrong answer | 7ms | 2356 KiB | ||||
| 39 | Wrong answer | 7ms | 2448 KiB | ||||
| 40 | Wrong answer | 7ms | 2332 KiB | ||||
| 41 | Wrong answer | 7ms | 2296 KiB | ||||
| 42 | Wrong answer | 4ms | 2240 KiB | ||||
| 43 | Wrong answer | 4ms | 2236 KiB | ||||
| 44 | Wrong answer | 3ms | 2356 KiB | ||||
| 45 | Wrong answer | 4ms | 2216 KiB | ||||
| 46 | Wrong answer | 4ms | 2356 KiB | ||||
| 47 | Wrong answer | 4ms | 2284 KiB | ||||
| 48 | Wrong answer | 4ms | 2368 KiB | ||||
| 49 | Wrong answer | 4ms | 2356 KiB | ||||
| subtask6 | 0/22 | ||||||
| 50 | Wrong answer | 101ms | 71564 KiB | ||||
| 51 | Wrong answer | 103ms | 71532 KiB | ||||
| 52 | Wrong answer | 89ms | 71476 KiB | ||||
| 53 | Wrong answer | 87ms | 71484 KiB | ||||
| 54 | Wrong answer | 98ms | 71480 KiB | ||||
| 55 | Wrong answer | 85ms | 71460 KiB | ||||
| 56 | Wrong answer | 83ms | 71332 KiB | ||||
| 57 | Wrong answer | 97ms | 71448 KiB | ||||
| 58 | Wrong answer | 9ms | 8408 KiB | ||||
| 59 | Wrong answer | 71ms | 71220 KiB | ||||
| 60 | Wrong answer | 86ms | 71008 KiB | ||||
| 61 | Wrong answer | 85ms | 71300 KiB | ||||
| 62 | Wrong answer | 82ms | 69808 KiB | ||||
| 63 | Wrong answer | 85ms | 70248 KiB | ||||
| 64 | Wrong answer | 85ms | 70908 KiB | ||||
| 65 | Wrong answer | 100ms | 71032 KiB | ||||
| 66 | Wrong answer | 83ms | 71476 KiB | ||||