Submission #890204

# Submission time Handle Problem Language Result Execution time Memory
890204 2023-12-20T16:50:55 Z cpptowin Uzastopni (COCI15_uzastopni) C++17
0 / 160
183 ms 18896 KB
#include<bits/stdc++.h>
#define fo(i,d,c) for(int i=d;i<=c;i++)
#define fod(i,c,d) for(int i=c;i>=d;i--)
#define maxn 10010
#define N 1010
#define fi first
#define se second
#define pb emplace_back
#define en cout<<"\n";
#define inf 1000000000
#define pii pair<int,int>
#define vii vector<pii>
#define lb(x) x&-x
#define bit(i,j) ((i>>j)&1)
#define offbit(i,j) (i^(1<<j))
#define onbit(i,j) (i|(1<<j))
#define vi vector<int>
template <typename T1, typename T2> bool minimize(T1 &a, T2 b){if (a > b) {a = b; return true;} return false;}
template <typename T1, typename T2> bool maximize(T1 &a, T2 b){if (a < b) {a = b; return true;} return false;}
using namespace std;
bitset<105> dp[10010][110];
vi ke[maxn];
int v[maxn];
int n;
    bitset<105> f[110];
void dfs(int u)
{
    fo(i,1,100) f[i].reset();
    dp[u][v[u]][v[u]] = 1;
    f[v[u]][v[u]] = 1;
    for(int v : ke[u])
    {
        dfs(v);
        fo(i,1,100) f[i] |= dp[v][i];
    }
    fo(i,1,100) fo(j,1,100)
    {
        if(f[i + 1][j] and i == v[u]) dp[u][i][j] = 1;
        if(f[i][j - 1] and j == v[u]) dp[u][i][j] = 1;
        if(f[i][v[u] - 1] and f[v[u] + 1][j]) dp[u][i][j] = 1;
    }
}
main()
{
    #define name "TASK"
    if(fopen(name".inp","r"))
    {
       freopen(name".inp","r",stdin);
       freopen(name".out","w",stdout);
    }
    ios_base::sync_with_stdio(false);cin.tie(NULL);
    cin >> n;
    fo(i,1,n) cin >> v[i];
    fo(i,1,n - 1)
    {
        int u,v;
        cin >> u >> v;
        ke[u].pb(v);
    }
    dfs(1);
    int ans = 0;
    fo(i,1,100) ans += dp[1][i].count();
    cout << ans;
}

Compilation message

uzastopni.cpp:43:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   43 | main()
      | ^~~~
uzastopni.cpp: In function 'int main()':
uzastopni.cpp:48:15: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   48 |        freopen(name".inp","r",stdin);
      |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
uzastopni.cpp:49:15: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   49 |        freopen(name".out","w",stdout);
      |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2652 KB Output isn't correct
2 Incorrect 2 ms 2396 KB Output isn't correct
3 Incorrect 2 ms 2652 KB Output isn't correct
4 Incorrect 3 ms 2396 KB Output isn't correct
5 Incorrect 2 ms 2652 KB Output isn't correct
6 Incorrect 2 ms 2652 KB Output isn't correct
7 Incorrect 2 ms 2652 KB Output isn't correct
8 Incorrect 2 ms 2904 KB Output isn't correct
9 Incorrect 2 ms 2652 KB Output isn't correct
10 Incorrect 2 ms 2652 KB Output isn't correct
11 Incorrect 166 ms 18216 KB Output isn't correct
12 Incorrect 158 ms 18052 KB Output isn't correct
13 Incorrect 153 ms 18048 KB Output isn't correct
14 Incorrect 180 ms 18776 KB Output isn't correct
15 Incorrect 183 ms 18896 KB Output isn't correct
16 Incorrect 157 ms 18856 KB Output isn't correct
17 Incorrect 157 ms 17944 KB Output isn't correct
18 Incorrect 164 ms 18004 KB Output isn't correct
19 Incorrect 156 ms 17776 KB Output isn't correct
20 Incorrect 176 ms 17744 KB Output isn't correct