#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
vector<long long> d = {0};
for(int i=0;i<n;i++){
int h,k;
cin >> h >> k;
while(d.size()<=h){
d.push_back(0);
}
d[h-k]++;
d[h]--;
}
vector<long long> a = {d[0]};
for(int i=1;i<d.size();i++){
a.push_back(a[i-1]+d[i]);
}
long long c = 0;
long long ans = 0;
for(int i=0;i<a.size();i++){
long long x = c;
long long z = 0;
for(int j=0;j<a.size();j++){
x += a[j];
if(j>=i){
z = max(z,(x+j-i)/(j-i+1));
}
}
c -= z;
ans += z*(z-1)/2;
}
cout << ans << endl;
}
| # | 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... |