求调abc195_d
  • 板块学术版
  • 楼主So_Cat
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/1 17:58
  • 上次更新2023/11/2 10:24:28
查看原帖
求调abc195_d
881373
So_Cat楼主2023/11/1 17:58
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct __{
    int val = 0 , id ;
} b[55] ;
int n , m , q , w[55] , v[55] ;
signed main(){
    cin >> n >> m >> q ;
    for( int i = 1 ; i <= n ; i ++ ){
        cin >> w[i] >> v[i] ;
    }
    for( int i = 1 ; i <= m ; i ++ ){
        cin >> b[i].val ;
        b[i].id = i ;
    }
    sort( b + 1 , b + 1 + m , [](__ a,__ b){return a.val<b.val;} ) ;
    for( int i = 1 ; i <= q ; i ++ ){
        bool vis[55] ;
        memset( vis , 0 , sizeof( vis ) ) ;
        int l , r , get = 0 , ans = 0 ;
        cin >> l >> r ;
        for( int j = 1 ; j <= m ; j ++ ){
            if( b[j].id >= l && b[j].id <= r ) continue ;
            for( int k = 1 ; k <= n ; k ++ ){
                if( !vis[k] && w[k] <= b[j].val && v[k] > v[get] ){
                    get = k ;
                }
            }
            vis[get] = true ;
            ans += v[get] ;
        }
        cout << ans << '\n' ;
    }
    return 0 ;
}
2023/11/1 17:58
加载中...