QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#386940 | #6845. Tax | TheShuMo | WA | 1ms | 3856kb | C++14 | 1.9kb | 2024-04-11 21:47:18 | 2024-04-11 21:47:22 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
#define pb push_back
#define ls u <<1
#define rs u << 1 |1
#define mid (l + r >> 1)
namespace IO {
#define int long long
#define gh getchar
inline int read(){char ch=gh();int x=0;bool t=0;while(ch<'0'||ch>'9') t|=ch=='-',ch=gh();while(ch>='0'&&ch<='9') x=x*10+(ch^48),ch=gh();return t?-x:x;}
inline char getc(){char ch=gh();while(ch<'a'||ch>'z') ch=gh();return ch;}
inline void write(int x){if(x < 0){putchar('-');x = -x;}if(x > 9){write(x / 10);}putchar((x % 10 + '0'));}
}
using namespace IO;
using namespace std;
const int Maxm = 52 * 52, _ = 52;
int w[Maxm];
int c[Maxm], uu[Maxm], vv[Maxm];
struct N{int v, c;};
vector<N> G[Maxm];
int dep[_]; int vis[Maxm], ans[_];
map<pair<int,int>, int> mp;
void bfs(){
queue<int> q;
q.push(1); memset(dep, -1, sizeof(dep));
dep[1] = 1;
while(!q.empty()){
int u = q.front(); q.pop();
for(auto k : G[u]) { int v = k.v;
if(dep[v] != -1) continue;
dep[v] = dep[u] + 1;
q.push(v);
}
}
}
void dfs(int u, int fa, int id){
if(u != 1)ans[u] = min(ans[fa] + vis[c[id]] * w[c[id]], ans[u]);
for(auto k : G[u]){ int v = k.v;
if(v == fa) continue;
if(dep[v] == dep[u] + 1){
vis[c[k.c]]++;
dfs(v, u, k.c);
vis[c[k.c]]--;
}
}
}
signed main(){
int n, m;
n = read(), m = read();
for(int i = 1; i <= m; i ++) w[i] = read();
for(int i = 1; i <= m; i++){
uu[i] = read(), vv[i] = read();
c[i] = read();
G[uu[i]].pb({vv[i],i}); G[vv[i]].pb({uu[i], i});
mp[make_pair(uu[i], vv[i])] = i; mp[make_pair(vv[i], uu[i])] = i;
}bfs();
memset(ans, 0x3f, sizeof ans); ans[1] = 0;
dfs(1,1,0);
for(int i = 2; i <= n; i++){
cout << ans[i] << endl;
}
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 3572kb
input:
5 6 1 8 2 1 3 9 1 2 1 2 3 2 1 4 1 3 4 6 3 5 4 4 5 1
output:
1 9 1 3
result:
ok 4 lines
Test #2:
score: 0
Accepted
time: 1ms
memory: 3856kb
input:
10 15 730 2163 6818 4647 9699 1037 2034 8441 2619 6164 464 4369 4500 6675 1641 1 6 2 3 6 1 3 2 1 9 2 2 7 3 1 6 5 1 5 3 2 3 10 1 10 2 2 5 10 1 8 2 2 9 8 1 7 4 2 4 5 2 4 10 2
output:
4353 2893 7219 2893 2163 4353 8679 8679 4353
result:
ok 9 lines
Test #3:
score: 0
Accepted
time: 0ms
memory: 3572kb
input:
10 15 847 2302 8846 8055 585 6541 6493 7165 5376 8551 836 2993 2700 9323 5119 2 1 5 2 3 3 3 10 3 10 4 3 8 3 4 10 8 1 3 7 3 4 5 3 5 8 5 6 3 3 8 6 2 6 5 4 9 10 2 7 9 4 5 9 4
output:
585 9431 53661 18656 27123 27123 17486 29425 27123
result:
ok 9 lines
Test #4:
score: -100
Wrong Answer
time: 1ms
memory: 3688kb
input:
20 30 4547 9278 5093 443 7292 7570 7138 9315 4114 723 9854 9584 294 1861 5478 2734 5967 7102 6137 9504 456 7980 9645 6571 336 5308 1035 8008 3128 4035 7 1 2 11 7 1 11 12 2 12 10 2 10 5 2 20 5 1 20 17 2 17 16 2 16 18 1 7 19 3 19 12 1 2 18 2 3 7 1 12 3 1 19 3 1 13 11 1 12 13 1 19 13 1 13 3 2 18 15 2 8...
output:
156984 13825 87491 41653 24011 9278 28012 37652 37474 13825 18918 18918 24557 156984 97137 69303 115325 14371 50747
result:
wrong answer 1st lines differ - expected: '166078', found: '156984'