Submission #76656261


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define int ll
#define ll long long
#define pb emplace_back
#define pr pair<int,int>
#define mp make_pair
#define endl "\n"
inline int read()
{
	int x=0,f=1;char ch=getchar();
	while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
	while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
	return x*f;
}
void write(int x)
{
    if(x<0)putchar('-'),x=-x;
    if(x<10)putchar(x+'0');
    else write(x/10),putchar(x%10+'0');
}
const int MAXV=1000005;
int n,d,ans=0;
pr m[300005];
int bitc[MAXV+5],bits[MAXV+5];
int lowbit(int n){return n&-n;}
void add(int q,int v){
	while(q<=MAXV){
		bitc[q]++; 
		bits[q]+=v;
		q+=lowbit(q);
	}
}
int queryc(int q){
	if(q<=0) return 0;
	q=min(q,MAXV);
	int da=0;
	while(q>0){
		da+=bitc[q];
		q-=lowbit(q);
	}
	return da;
}
int querys(int q){
	if(q<=0) return 0;
	q=min(q,MAXV);
	int da=0;
	while(q>0){
		da+=bits[q];
		q-=lowbit(q);
	}
	return da;
}
signed main(){
	n=read();
	d=read();
	for(int i=1;i<=n;i++){m[i].first=read();m[i].second=read();}
	sort(m+1,m+1+n);
	for(int i=1;i<=n;i++){
		int mq=m[i].first+d;
		if(m[i].second>=mq){
			int cnt,sum;
			cnt=queryc(MAXV)-queryc(m[i].second-1);
			ans+=(cnt*(m[i].second-m[i].first-d+1));
			cnt=queryc(m[i].second-1)-queryc(mq-1);
			sum=querys(m[i].second-1)-querys(mq-1);
			ans+=(sum-cnt*(mq-1));
		}
		add(m[i].second,m[i].second);
	}
	cout<<ans;
	return 0;
}


Submission Info

Submission Time
Task D - Accomplice
User Fireflies
Language C++23 (GCC 15.2.0)
Score 400
Code Size 1470 Byte
Status AC
Exec Time 44 ms
Memory 22404 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 23
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt
All 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, sample-01.txt, sample-02.txt, sample-03.txt
Case Name Status Exec Time Memory
04.txt AC 1 ms 3504 KiB
05.txt AC 1 ms 3520 KiB
06.txt AC 13 ms 6752 KiB
07.txt AC 14 ms 6624 KiB
08.txt AC 10 ms 6648 KiB
09.txt AC 9 ms 6652 KiB
10.txt AC 9 ms 6576 KiB
11.txt AC 1 ms 5208 KiB
12.txt AC 5 ms 13272 KiB
13.txt AC 7 ms 17428 KiB
14.txt AC 18 ms 20192 KiB
15.txt AC 32 ms 21032 KiB
16.txt AC 36 ms 22368 KiB
17.txt AC 44 ms 22172 KiB
18.txt AC 44 ms 22036 KiB
19.txt AC 35 ms 22164 KiB
20.txt AC 34 ms 22244 KiB
21.txt AC 34 ms 22236 KiB
22.txt AC 34 ms 22404 KiB
23.txt AC 39 ms 22264 KiB
sample-01.txt AC 1 ms 3628 KiB
sample-02.txt AC 1 ms 3556 KiB
sample-03.txt AC 1 ms 3428 KiB