Submission #75972298
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int,int>;
ll n,d;
ll ans;
ll dist;
ll qsum[200005];
int max_pos;
struct booth{
ll x;
ll s;
int id;
}A[200005];
bool compare_booth(const booth &a, const booth &b){
return a.x < b.x;
}
ll get_sum(int ss, int ee){
return qsum[ee]-qsum[ss-1];
}
int search(int ll, int rr, int val){
int res = -1, mid;
if(ll > rr){return -1;}
while(ll<=rr){
mid = (ll+rr)/2;
if(A[mid].x <= val){
res = mid;
ll = mid + 1;
}
else{
rr = mid-1;
}
}
return res;
}
/*
ll abs(ll a){
if(a>0){return a;}
return -a;
}
*/
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> d;
for(int i=1;i<=n;i++){
cin >> A[i].x >> A[i].s;
A[i].id = i;
}
sort(A+1, A+n+1, compare_booth);
for(int i=1; i<=n; i++){
qsum[i] = qsum[i-1] + A[i].s;
}
for(int i = 1; i <= n; i++)
{
max_pos = search(i+1, n, A[i].x+d);
//cout << "search " << i+1 << " " << n << " " << A[i].x+d << "\n";
if(max_pos != (-1)){
ans = ans + (A[i].s*get_sum(i+1, max_pos));
//cout << i << " " << max_pos << " " << ans << "\n";
}
}
cout << ans << "\n";
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Synergy at the Flea Market |
| User | tofusan_lemonp |
| Language | C++23 (GCC 15.2.0) |
| Score | 366 |
| Code Size | 1451 Byte |
| Status | AC |
| Exec Time | 33 ms |
| Memory | 9960 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 366 / 366 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample01.txt, sample02.txt, sample03.txt, sample04.txt, sample05.txt |
| All | sample01.txt, sample02.txt, sample03.txt, sample04.txt, sample05.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in46.txt, in47.txt, in48.txt, in49.txt, in50.txt, in51.txt, in52.txt, in53.txt, in54.txt, in55.txt, in56.txt, in57.txt, in58.txt, in59.txt, in60.txt, in61.txt, in62.txt, in63.txt, in64.txt, in65.txt, in66.txt, in67.txt, in68.txt, in69.txt, in70.txt, in71.txt, in72.txt, in73.txt, in74.txt, in75.txt, in76.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| in01.txt | AC | 1 ms | 3420 KiB |
| in02.txt | AC | 1 ms | 3528 KiB |
| in03.txt | AC | 1 ms | 3416 KiB |
| in04.txt | AC | 1 ms | 3688 KiB |
| in05.txt | AC | 1 ms | 3484 KiB |
| in06.txt | AC | 29 ms | 9660 KiB |
| in07.txt | AC | 29 ms | 9824 KiB |
| in08.txt | AC | 1 ms | 3664 KiB |
| in09.txt | AC | 33 ms | 9808 KiB |
| in10.txt | AC | 33 ms | 9800 KiB |
| in11.txt | AC | 33 ms | 9904 KiB |
| in12.txt | AC | 32 ms | 9796 KiB |
| in13.txt | AC | 29 ms | 9768 KiB |
| in14.txt | AC | 28 ms | 9688 KiB |
| in15.txt | AC | 27 ms | 9880 KiB |
| in16.txt | AC | 29 ms | 9692 KiB |
| in17.txt | AC | 29 ms | 9848 KiB |
| in18.txt | AC | 1 ms | 3480 KiB |
| in19.txt | AC | 28 ms | 9796 KiB |
| in20.txt | AC | 29 ms | 9960 KiB |
| in21.txt | AC | 28 ms | 9800 KiB |
| in22.txt | AC | 18 ms | 9800 KiB |
| in23.txt | AC | 18 ms | 9960 KiB |
| in24.txt | AC | 22 ms | 9904 KiB |
| in25.txt | AC | 18 ms | 9856 KiB |
| in26.txt | AC | 17 ms | 9848 KiB |
| in27.txt | AC | 29 ms | 9904 KiB |
| in28.txt | AC | 32 ms | 9692 KiB |
| in29.txt | AC | 15 ms | 6684 KiB |
| in30.txt | AC | 1 ms | 3760 KiB |
| in31.txt | AC | 1 ms | 3680 KiB |
| in32.txt | AC | 1 ms | 3576 KiB |
| in33.txt | AC | 1 ms | 3608 KiB |
| in34.txt | AC | 15 ms | 6724 KiB |
| in35.txt | AC | 1 ms | 3524 KiB |
| in36.txt | AC | 1 ms | 3576 KiB |
| in37.txt | AC | 1 ms | 3412 KiB |
| in38.txt | AC | 1 ms | 3480 KiB |
| in39.txt | AC | 1 ms | 3420 KiB |
| in40.txt | AC | 1 ms | 3592 KiB |
| in41.txt | AC | 1 ms | 3576 KiB |
| in42.txt | AC | 1 ms | 3524 KiB |
| in43.txt | AC | 1 ms | 3608 KiB |
| in44.txt | AC | 29 ms | 9904 KiB |
| in45.txt | AC | 29 ms | 9796 KiB |
| in46.txt | AC | 28 ms | 9808 KiB |
| in47.txt | AC | 28 ms | 9688 KiB |
| in48.txt | AC | 29 ms | 9808 KiB |
| in49.txt | AC | 29 ms | 9752 KiB |
| in50.txt | AC | 29 ms | 9904 KiB |
| in51.txt | AC | 29 ms | 9768 KiB |
| in52.txt | AC | 29 ms | 9756 KiB |
| in53.txt | AC | 33 ms | 9904 KiB |
| in54.txt | AC | 1 ms | 3632 KiB |
| in55.txt | AC | 1 ms | 3612 KiB |
| in56.txt | AC | 29 ms | 9756 KiB |
| in57.txt | AC | 30 ms | 9800 KiB |
| in58.txt | AC | 1 ms | 3584 KiB |
| in59.txt | AC | 1 ms | 3608 KiB |
| in60.txt | AC | 1 ms | 3552 KiB |
| in61.txt | AC | 1 ms | 3536 KiB |
| in62.txt | AC | 1 ms | 3584 KiB |
| in63.txt | AC | 1 ms | 3404 KiB |
| in64.txt | AC | 1 ms | 3576 KiB |
| in65.txt | AC | 1 ms | 3528 KiB |
| in66.txt | AC | 1 ms | 3552 KiB |
| in67.txt | AC | 1 ms | 3484 KiB |
| in68.txt | AC | 1 ms | 3480 KiB |
| in69.txt | AC | 1 ms | 3496 KiB |
| in70.txt | AC | 1 ms | 3416 KiB |
| in71.txt | AC | 1 ms | 3536 KiB |
| in72.txt | AC | 1 ms | 3524 KiB |
| in73.txt | AC | 1 ms | 3584 KiB |
| in74.txt | AC | 19 ms | 9676 KiB |
| in75.txt | AC | 18 ms | 9768 KiB |
| in76.txt | AC | 23 ms | 9880 KiB |
| sample01.txt | AC | 1 ms | 3528 KiB |
| sample02.txt | AC | 1 ms | 3592 KiB |
| sample03.txt | AC | 1 ms | 3528 KiB |
| sample04.txt | AC | 1 ms | 3480 KiB |
| sample05.txt | AC | 1 ms | 3632 KiB |