3 条题解

  • 1
    @ 2025-11-4 14:04:08

    根据题意可以知道是所有离开的时间减去进入的时间,因此只需要标记离开和进入,然后减去进入时间加上离开时间就行

    #include<iostream>
    #include<algorithm>
    #include<cmath>
    #define ll long long
    using namespace std;
    const ll N=1e7;
    ll a[N],b[N];
    int main()
    {
        ios_base::sync_with_stdio(0);
        cin.tie(0);
        cout.tie(0);
        ll n,num=0,k;
        cin>>n>>k;
        for(int i=1;i<=2*n;i++){
            cin>>a[i];
        }
        for(int i=1;i<=2*n;i++){
            if(i<=k){
                b[i]=1;
            }else if(i>2*n-k){
                b[i]=0;
            }else{
                b[i]=num%2;
                num++;
            }
        }
        int sum=0;
        for(int i=1;i<=2*n;i++){
            if(b[i]==1){
                sum-=a[i];
            }else{
                sum+=a[i];
            }
        }
        cout<<sum<<"\n";
        return 0;
    }
    

    信息

    ID
    1176
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    (无)
    递交数
    108
    已通过
    36
    上传者