1 条题解
-
0
#include<bits/stdc++.h> using namespace std ; struct node { long long a , b ; }e[300005]; long long n , ans , k , now ; long long d[300005] ; long long v[300005] ; int main() { cin >> n >> k ; for( int i = 1 ; i <= n ; i ++ ) { cin >> e[i].a >> e[i].b ; } for( int i = 1 ; i <= n ; i ++ ) { v[e[i].a] += e[i].b ; d[e[i].a] += e[i].b ; now = max( now , e[i].a ) ; } for( int i = 0 ; i <= now + 2 ; i ++ ) { d[i] += max( 0ll , v[i - 1] + min( d[i - 1] - k - v[i - 1] , 0ll ) ) ; ans += k + min( d[i] - k , 0ll) ; } cout << ans ; return 0 ; }
- 1
信息
- ID
- 8016
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- (无)
- 递交数
- 2
- 已通过
- 1
- 上传者