이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = (int)5e5;
int f,MOD,k,l[N+2],da[N+2];
bool ex[N+2],id[N+2],used[N+2];
struct CTDL{
	int l,da;
	bool operator < (const CTDL& other) const{
		return l<other.l;
	}
} p[N+2];
int add(int a,int b){
	return a+b>=MOD?a+b-MOD:a+b;
}
int sub(int a,int b){
	return a-b<0?a-b+MOD:a-b;
}
int mul(int a,int b){
	return (ll)a*b%MOD;
}
int power(int a,int b){
	int res=1;
	for (;b;b>>=1,a=mul(a,a)){
		if (b&1) res=mul(res,a);
	}
	return res;
}
#define name "main"
int32_t main(){
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	cin>>f>>k>>MOD;
	for (int i = 1; i <= f; ++i){
		cin>>p[i].l>>p[i].da;
	}
	sort(p+1,p+f+1);
	for (int i = f; i >= 1; --i){
		if (!used[p[i].da]){
			used[p[i].da]=true;
			id[i]=true;
		}
	}
	memset(used,0,sizeof used);
	int cnt=0,ans=0,l=1;
	for (int i = 1; i <= f; ++i){
		while (l<=i&&p[l].l*2<=p[i].l){
			if (!used[p[l].da]){
				used[p[l].da]=true;
				++cnt;
			}
			++l;
		}
		if (id[i]){
			ans=add(ans,power(2,cnt));
		}
	}
	cout<<ans;
	exit(0);	
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |