Submission #1589123
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long ll; int n, K; vector<int> d, x, y; int G[50][50] = {}; ll dfs(int t, ll sum, int used) { used = used | 1 << t; ll res = 0; bool ng = true; for (int i = 0; i < n; i++) { if (!G[t][i] || (used >> i & 1)) continue; res = max(res, dfs(i, sum + d[t], used)); ng = false; } if (ng) return sum + d[t]; return res; } int main(void) { cin >> n >> K; d.resize(n); x.resize(K); y.resize(K); for (int i = 0; i < n; i++) { cin >> d[i]; } for (int i = 0; i < K; i++) { cin >> x[i] >> y[i]; x[i]--, y[i]--; G[x[i]][y[i]] = G[y[i]][x[i]] = 1; } ll ans = 0; for (int i = 0; i < n; i++) { ans = max(ans, dfs(i, 0, 0)); } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - お金の街 (The Money Town) |
User | legosuke |
Language | C++14 (GCC 5.4.1) |
Score | 50 |
Code Size | 826 Byte |
Status | WA |
Exec Time | 5 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 50 / 50 | 0 / 50 | ||||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt |
Subtask1 | sample1.txt, sample2.txt, sample3.txt, sub1_1.txt, sub1_2.txt, sub1_3.txt, sub1_4.txt |
Subtask2 | sample1.txt, sample2.txt, sample3.txt, sub1_1.txt, sub1_2.txt, sub1_3.txt, sub1_4.txt, sub2_1.txt, sub2_2.txt, sub2_3.txt, sub2_4.txt, sub2_5.txt, sub2_6.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample1.txt | AC | 1 ms | 256 KB |
sample2.txt | AC | 1 ms | 256 KB |
sample3.txt | AC | 1 ms | 256 KB |
sub1_1.txt | AC | 1 ms | 256 KB |
sub1_2.txt | AC | 1 ms | 256 KB |
sub1_3.txt | AC | 1 ms | 256 KB |
sub1_4.txt | AC | 1 ms | 256 KB |
sub2_1.txt | AC | 1 ms | 256 KB |
sub2_2.txt | AC | 2 ms | 256 KB |
sub2_3.txt | AC | 2 ms | 256 KB |
sub2_4.txt | WA | 2 ms | 256 KB |
sub2_5.txt | WA | 3 ms | 256 KB |
sub2_6.txt | WA | 5 ms | 256 KB |