답안 #1083723

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1083723 2024-09-03T22:08:04 Z rayan_bd Regions (IOI09_regions) C++17
0 / 100
1026 ms 131072 KB
#include <bits/stdc++.h>

using namespace std;

#define pb push_back
#define ll long long

const int mxN = 2e5 + 5000;

ll st[mxN],en[mxN],hd[mxN],tin=-1;
set<ll> adj[mxN];
map<ll,vector<ll>> same;
map<ll,ll> seg[mxN*4];

void answer(ll ans){
	cout.flush()<<ans<<'\n';
    cout.flush();
}


void dfs(ll u=0,ll par=-1){
	st[u]=++tin;
	for(auto it:adj[u]){
		if(it^par){
			dfs(it,u);
		}
	}
	en[u]=tin;
}

void upd(ll node,ll start,ll end,ll idx,ll x){
	++seg[node][x];
	if(start==end) return;
	ll mid=start+(end-start)/2;
	if(idx<=mid) upd(node*2+1,start,mid,idx,x);
	else upd(node*2+2,mid+1,end,idx,x);
}

ll qry(ll node,ll start,ll end,ll l,ll r,ll x){
	if(start>r||end<l) return 0;
	if(start>=l&&end<=r) return seg[node][x];
	ll mid=start+(end-start)/2;
	return qry(node*2+1,start,mid,l,r,x)+qry(node*2+2,mid+1,end,l,r,x);
}

void Solve(){
	ll n,k,q,r1,r2,ans=0,super;cin>>n>>k>>q;

	cin>>hd[0];
	same[hd[0]].pb(0);

	for(ll i=1;i<n;++i){
		cin>>super>>hd[i];--super;
		adj[i].insert(super);
		adj[super].insert(i);
		same[hd[i]].pb(i);
	}

	dfs();

	for(ll i=1;i<=n;++i){
		upd(0,0,tin,st[i],hd[i]);
	}

	while(q--){
		cin>>r1>>r2;
		ans=0;
		for(auto it:same[hd[r1]]){
			ans+=qry(0,0,tin,st[it],en[it],r2);
		}
		answer(ans);
	}
}

void testing(){
	#ifndef ONLINE_JUDGE
    freopen("input.in","r",stdin);
    freopen("output.out","w",stdout);
    #endif
}

signed main() {


    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    
    Solve();
}

Compilation message

regions.cpp: In function 'void testing()':
regions.cpp:77:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   77 |     freopen("input.in","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
regions.cpp:78:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   78 |     freopen("output.out","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 21 ms 48472 KB Output isn't correct
2 Incorrect 24 ms 48396 KB Output isn't correct
3 Incorrect 24 ms 48472 KB Output isn't correct
4 Incorrect 21 ms 48728 KB Output isn't correct
5 Incorrect 32 ms 49400 KB Output isn't correct
6 Incorrect 47 ms 50596 KB Output isn't correct
7 Incorrect 70 ms 53508 KB Output isn't correct
8 Incorrect 85 ms 55376 KB Output isn't correct
9 Incorrect 178 ms 66896 KB Output isn't correct
10 Incorrect 378 ms 87744 KB Output isn't correct
11 Runtime error 1026 ms 131072 KB Execution killed with signal 9
12 Runtime error 1020 ms 131072 KB Execution killed with signal 9
13 Runtime error 583 ms 131072 KB Execution killed with signal 9
14 Runtime error 643 ms 131072 KB Execution killed with signal 9
15 Runtime error 650 ms 131072 KB Execution killed with signal 9
# 결과 실행 시간 메모리 Grader output
1 Runtime error 412 ms 131072 KB Execution killed with signal 9
2 Runtime error 391 ms 131072 KB Execution killed with signal 9
3 Runtime error 307 ms 131072 KB Execution killed with signal 9
4 Runtime error 611 ms 131072 KB Execution killed with signal 9
5 Runtime error 640 ms 131072 KB Execution killed with signal 9
6 Runtime error 524 ms 131072 KB Execution killed with signal 9
7 Runtime error 340 ms 131072 KB Execution killed with signal 9
8 Runtime error 251 ms 131072 KB Execution killed with signal 9
9 Runtime error 317 ms 131072 KB Execution killed with signal 9
10 Runtime error 271 ms 131072 KB Execution killed with signal 9
11 Runtime error 304 ms 131072 KB Execution killed with signal 9
12 Runtime error 343 ms 131072 KB Execution killed with signal 9
13 Runtime error 300 ms 131072 KB Execution killed with signal 9
14 Runtime error 326 ms 131072 KB Execution killed with signal 9
15 Runtime error 273 ms 131072 KB Execution killed with signal 9
16 Runtime error 245 ms 131072 KB Execution killed with signal 9
17 Runtime error 237 ms 131072 KB Execution killed with signal 9