Submission #1027007

# Submission time Handle Problem Language Result Execution time Memory
1027007 2024-07-18T18:19:46 Z YassineBenYounes Regions (IOI09_regions) C++17
13 / 100
8000 ms 20820 KB
#include<bits/stdc++.h>
 
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef double db;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define pbds tree<int, null_type, less<int>,rb_tree_tag, tree_order_statistics_node_update>
using namespace __gnu_pbds;
ll gcd(ll a , ll b) {return b ? gcd(b , a % b) : a ;} // greatest common divisor (PGCD)
ll lcm(ll a , ll b) {return (a * b) / gcd(a , b);} // least common multiple (PPCM)
int dx[8] = {1, 0, 0, -1, 1, 1, -1, -1};
int dy[8] = {0, 1, -1, 0, 1, -1, -1, 1};
#define endl "\n"
#define ss second
#define ff first
#define all(x) (x).begin() , (x).end()
#define pb push_back
#define vi vector<int>
#define vii vector<pair<int,int>>
#define vl vector<ll>
#define vll vector<pair<ll,ll>>
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pdd  pair<double,double>
#define vdd  vector<pdd>
#define speed ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
////////////////////Only Clear Code//////////////////////////
 
void usaco_problem(){
    freopen("milkvisits.in", "r", stdin);
    freopen("milkvisits.out", "w", stdout);
}
 
void init(){
    #ifndef ONLINE_JUDGE
 
freopen("input.txt", "r", stdin);
 
freopen("output.txt", "w", stdout);
 
#endif // ONLINE_JUDGE
}
const int mx = 2e5+5;
const int LOG = 22;
const int inf = 1e9;
const ll mod = 998244353;

int arr[mx];

vi graph[mx];

int ans;

void dfs(int node, int p, int a){
    if(arr[node] == a)ans++;
    for(int adj : graph[node]){
        if(adj == p)continue;
        dfs(adj, node, a);
    }
}

int32_t main(){
    int n, r, q;cin >> n >> r >> q;
    for(int i = 1; i <= n;i++){
        if(i > 1){
            int a;cin >> a;
            graph[a].pb(i);
        }
        cin >> arr[i];
    }
    while(q--){
        int a, b;cin >> a >> b;
        ans = 0;
        for(int i = 1; i <= n;i++){
            if(arr[i] == a)dfs(i, i, b);
        }
        cout << ans << endl;
        cout.flush();
    }
}
 
/*
    NEVER GIVE UP!
    DOING SMTHNG IS BETTER THAN DOING NTHNG!!!
    Your Guide when stuck:
    - Continue keyword only after reading the whole input
    - Don't use memset with testcases
    - Check for corner cases(n=1, n=0)
    - Check where you declare n(Be careful of declaring it globally and in main)
*/

Compilation message

regions.cpp: In function 'void usaco_problem()':
regions.cpp:33:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   33 |     freopen("milkvisits.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regions.cpp:34:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |     freopen("milkvisits.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regions.cpp: In function 'void init()':
regions.cpp:40:8: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 | freopen("input.txt", "r", stdin);
      | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
regions.cpp:42:8: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   42 | freopen("output.txt", "w", stdout);
      | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4952 KB Output is correct
2 Correct 1 ms 4952 KB Output is correct
3 Correct 3 ms 4952 KB Output is correct
4 Correct 3 ms 4952 KB Output is correct
5 Correct 7 ms 4952 KB Output is correct
6 Correct 25 ms 5196 KB Output is correct
7 Correct 28 ms 4952 KB Output is correct
8 Correct 69 ms 5208 KB Output is correct
9 Correct 1065 ms 5464 KB Output is correct
10 Correct 361 ms 5208 KB Output is correct
11 Correct 2638 ms 5464 KB Output is correct
12 Execution timed out 8023 ms 6020 KB Time limit exceeded
13 Correct 668 ms 5464 KB Output is correct
14 Correct 6325 ms 5976 KB Output is correct
15 Execution timed out 8036 ms 8280 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Execution timed out 8028 ms 8324 KB Time limit exceeded
2 Execution timed out 8007 ms 6992 KB Time limit exceeded
3 Execution timed out 8064 ms 9672 KB Time limit exceeded
4 Execution timed out 8052 ms 5976 KB Time limit exceeded
5 Execution timed out 8086 ms 7512 KB Time limit exceeded
6 Execution timed out 8032 ms 6876 KB Time limit exceeded
7 Execution timed out 8086 ms 7248 KB Time limit exceeded
8 Execution timed out 8015 ms 11592 KB Time limit exceeded
9 Execution timed out 8095 ms 10832 KB Time limit exceeded
10 Execution timed out 8039 ms 15184 KB Time limit exceeded
11 Execution timed out 8076 ms 9552 KB Time limit exceeded
12 Execution timed out 8055 ms 11700 KB Time limit exceeded
13 Execution timed out 8048 ms 11992 KB Time limit exceeded
14 Execution timed out 8025 ms 11344 KB Time limit exceeded
15 Execution timed out 8032 ms 15324 KB Time limit exceeded
16 Execution timed out 8050 ms 20820 KB Time limit exceeded
17 Execution timed out 8025 ms 19732 KB Time limit exceeded