Submission #104749

# Submission time Handle Problem Language Result Execution time Memory
104749 2019-04-09T05:12:46 Z Hideo Mergers (JOI19_mergers) C++14
0 / 100
158 ms 46212 KB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pb push_back
#define mk make_pair
#define fr first
#define sc second
#define vi vector < int >
#define vl vector < ll >
#define pi pair < int, int >
#define pii pair < int, pi >
#define vii vector < pi >

const int N = 1e5 + 7;
const int mod = 1e9 + 7;

int us[N][100], a[N], m[N], cur[N];
int n, k, ans;

vi g[N];

void dfs (int v = 1, int p = 0){
    for (int to : g[v]){
        if (to != p){
            dfs(to, v);
            cur[v] += cur[to];
            for (int i = 1; i <= 50; i++)
                us[v][i] += us[to][i];
        }
    }
    us[v][a[v]]++;
    if (us[v][a[v]] == 1)
        cur[v]--;
    if (us[v][a[v]] == m[a[v]]){
        cur[v]++;
        us[v][a[v]] = 0;
    }
    if (cur[v] == 0)
        ans++;
}

main(){
    cin >> n >> k;
    for (int i = 1; i < n; i++){
        int a, b;
        scanf("%d%d", &a, &b);
        g[a].pb(b);
        g[b].pb(a);
    }
    for (int i = 1; i <= n; i++){
        scanf("%d", &a[i]);
        m[a[i]]++;
    }
    dfs();
    printf("%d", ans / 2);
}

Compilation message

mergers.cpp:43:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
mergers.cpp: In function 'int main()':
mergers.cpp:47:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d", &a, &b);
         ~~~~~^~~~~~~~~~~~~~~~
mergers.cpp:52:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &a[i]);
         ~~~~~^~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 2688 KB Output is correct
2 Incorrect 4 ms 2688 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 2688 KB Output is correct
2 Incorrect 4 ms 2688 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 2688 KB Output is correct
2 Incorrect 4 ms 2688 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 158 ms 46212 KB Output is correct
2 Runtime error 85 ms 15476 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 2688 KB Output is correct
2 Incorrect 4 ms 2688 KB Output isn't correct
3 Halted 0 ms 0 KB -