提出 #76656261
ソースコード 拡げる
#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;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Accomplice |
| ユーザ | Fireflies |
| 言語 | C++23 (GCC 15.2.0) |
| 得点 | 400 |
| コード長 | 1470 Byte |
| 結果 | AC |
| 実行時間 | 44 ms |
| メモリ | 22404 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 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 |