提出 #76650757
ソースコード 拡げる
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,xt;
int c[(int)2e6+10];
struct node{
int x,y;
}a[(int)2e6+10];
int c1[(int)2e6+10];
void add(int x){
int __=x;
for(;x<=2000000;x+=(x&-x))c[x]+=__;
}
int query(int x){
if(x==0)return 0;
int res=0;
for(;x;x-=(x&-x))res+=c[x];
return res;
}
void add2(int x){
for(;x<=2000000;x+=(x&-x))c1[x]++;
}
int query2(int x){
if(x==0)return 0;
int res=0;
for(;x;x-=(x&-x))res+=c1[x];
return res;
}
bool cmp(node x,node y){
if(x.x==y.x)return x.y<y.y;
return x.x<y.x;
}
signed main(){
cin>>n>>xt;
for(int i=1;i<=n;i++){
cin>>a[i].x>>a[i].y;
}
sort(a+1,a+n+1,cmp);
int res=0;
for(int i=1;i<=n;i++){
if(a[i].y-a[i].x>=xt){
int d=query(((int)(2e6)))-query(a[i].x+xt-1);
int d2=query2(((int)(2e6)))-query2(a[i].x+xt-1);
int d3=query(((int)(2e6)))-query(a[i].y);
int d4=query2(((int)(2e6)))-query2(a[i].y);
d2=max(d2,0ll);
d4=max(d4,0ll);
d-=d3,d2-=d4;
int ans=d-d2*a[i].x-d2*xt+d2;
res+=ans;
res+=((a[i].y-a[i].x)-xt+1)*d4;
//cout<<ans<<' '<<((a[i].y-a[i].x)-xt+1)*d4<<'\n';
}
add(a[i].y);
add2(a[i].y);
}
cout<<res;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Accomplice |
| ユーザ | syq77 |
| 言語 | C++23 (GCC 15.2.0) |
| 得点 | 400 |
| コード長 | 1252 Byte |
| 結果 | AC |
| 実行時間 | 142 ms |
| メモリ | 22408 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 | 3596 KiB |
| 05.txt | AC | 1 ms | 3596 KiB |
| 06.txt | AC | 74 ms | 6740 KiB |
| 07.txt | AC | 76 ms | 6612 KiB |
| 08.txt | AC | 71 ms | 6740 KiB |
| 09.txt | AC | 66 ms | 6724 KiB |
| 10.txt | AC | 54 ms | 6744 KiB |
| 11.txt | AC | 3 ms | 5072 KiB |
| 12.txt | AC | 7 ms | 12988 KiB |
| 13.txt | AC | 12 ms | 17492 KiB |
| 14.txt | AC | 49 ms | 20292 KiB |
| 15.txt | AC | 94 ms | 21156 KiB |
| 16.txt | AC | 119 ms | 22372 KiB |
| 17.txt | AC | 140 ms | 22228 KiB |
| 18.txt | AC | 142 ms | 22196 KiB |
| 19.txt | AC | 121 ms | 22232 KiB |
| 20.txt | AC | 115 ms | 22280 KiB |
| 21.txt | AC | 116 ms | 22408 KiB |
| 22.txt | AC | 115 ms | 22372 KiB |
| 23.txt | AC | 135 ms | 22240 KiB |
| sample-01.txt | AC | 2 ms | 3516 KiB |
| sample-02.txt | AC | 2 ms | 3636 KiB |
| sample-03.txt | AC | 2 ms | 3592 KiB |