| 15385 | 2025-02-19 10:25:09 | Ablablabla | Autópálya infláció | cpp17 | Hibás válasz 15/100 | 108ms | 71656 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)));
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";
}*/
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Hibás válasz | 92ms | 71476 KiB | ||||
| subtask2 | 0/8 | ||||||
| 3 | Elfogadva | 75ms | 71220 KiB | ||||
| 4 | Hibás válasz | 86ms | 71220 KiB | ||||
| 5 | Hibás válasz | 74ms | 71368 KiB | ||||
| 6 | Elfogadva | 86ms | 71476 KiB | ||||
| 7 | Hibás válasz | 74ms | 71224 KiB | ||||
| subtask3 | 15/15 | ||||||
| 8 | Elfogadva | 1ms | 508 KiB | ||||
| 9 | Elfogadva | 1ms | 508 KiB | ||||
| 10 | Elfogadva | 1ms | 316 KiB | ||||
| 11 | Elfogadva | 1ms | 508 KiB | ||||
| 12 | Elfogadva | 1ms | 316 KiB | ||||
| 13 | Elfogadva | 1ms | 316 KiB | ||||
| 14 | Elfogadva | 1ms | 316 KiB | ||||
| 15 | Elfogadva | 1ms | 316 KiB | ||||
| 16 | Elfogadva | 1ms | 316 KiB | ||||
| 17 | Elfogadva | 1ms | 316 KiB | ||||
| 18 | Elfogadva | 1ms | 316 KiB | ||||
| subtask4 | 0/34 | ||||||
| 19 | Elfogadva | 92ms | 71512 KiB | ||||
| 20 | Hibás válasz | 103ms | 71656 KiB | ||||
| 21 | Hibás válasz | 103ms | 71652 KiB | ||||
| 22 | Elfogadva | 92ms | 71564 KiB | ||||
| 23 | Elfogadva | 104ms | 71484 KiB | ||||
| 24 | Hibás válasz | 104ms | 71420 KiB | ||||
| 25 | Elfogadva | 92ms | 71652 KiB | ||||
| 26 | Elfogadva | 90ms | 71444 KiB | ||||
| 27 | Hibás válasz | 89ms | 71328 KiB | ||||
| 28 | Hibás válasz | 72ms | 71124 KiB | ||||
| 29 | Hibás válasz | 86ms | 71028 KiB | ||||
| 30 | Hibás válasz | 74ms | 62260 KiB | ||||
| 31 | Hibás válasz | 71ms | 70708 KiB | ||||
| 32 | Hibás válasz | 87ms | 71036 KiB | ||||
| 33 | Hibás válasz | 100ms | 70968 KiB | ||||
| subtask5 | 0/21 | ||||||
| 34 | Hibás válasz | 4ms | 2360 KiB | ||||
| 35 | Hibás válasz | 7ms | 2356 KiB | ||||
| 36 | Hibás válasz | 7ms | 2356 KiB | ||||
| 37 | Hibás válasz | 7ms | 2580 KiB | ||||
| 38 | Elfogadva | 7ms | 2572 KiB | ||||
| 39 | Elfogadva | 7ms | 2448 KiB | ||||
| 40 | Hibás válasz | 7ms | 2356 KiB | ||||
| 41 | Hibás válasz | 7ms | 2336 KiB | ||||
| 42 | Hibás válasz | 4ms | 2360 KiB | ||||
| 43 | Hibás válasz | 3ms | 2356 KiB | ||||
| 44 | Hibás válasz | 4ms | 2356 KiB | ||||
| 45 | Hibás válasz | 3ms | 2356 KiB | ||||
| 46 | Hibás válasz | 4ms | 2356 KiB | ||||
| 47 | Hibás válasz | 3ms | 2188 KiB | ||||
| 48 | Hibás válasz | 4ms | 2356 KiB | ||||
| 49 | Hibás válasz | 4ms | 2356 KiB | ||||
| subtask6 | 0/22 | ||||||
| 50 | Hibás válasz | 90ms | 71476 KiB | ||||
| 51 | Hibás válasz | 105ms | 71548 KiB | ||||
| 52 | Hibás válasz | 104ms | 71516 KiB | ||||
| 53 | Hibás válasz | 93ms | 71476 KiB | ||||
| 54 | Elfogadva | 92ms | 71484 KiB | ||||
| 55 | Elfogadva | 104ms | 71572 KiB | ||||
| 56 | Hibás válasz | 96ms | 71476 KiB | ||||
| 57 | Hibás válasz | 108ms | 71416 KiB | ||||
| 58 | Hibás válasz | 9ms | 8256 KiB | ||||
| 59 | Hibás válasz | 74ms | 71040 KiB | ||||
| 60 | Hibás válasz | 86ms | 71220 KiB | ||||
| 61 | Hibás válasz | 86ms | 71276 KiB | ||||
| 62 | Hibás válasz | 71ms | 69700 KiB | ||||
| 63 | Hibás válasz | 72ms | 70248 KiB | ||||
| 64 | Hibás válasz | 90ms | 70908 KiB | ||||
| 65 | Hibás válasz | 103ms | 70836 KiB | ||||
| 66 | Hibás válasz | 101ms | 71256 KiB | ||||