1 条题解

  • 0
    @ 2023-9-23 14:53:01
    #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
    上传者