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
AC × 3
AC × 7
AC × 10
WA × 3
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