UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#215336#2713. 8.2t2erican100166ms3524kbC++111.9kb2024-11-28 19:19:432024-11-28 23:10:42

answer

/*  Erica N  */
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define endl '\n'
#define mp make_pair
#define int long long
#define ull unsigned long long
#define pii pair<int, int>
#define ps second
#define pf first
#define itn int
#define rd read()
int read(){
    int xx = 0, ff = 1;char ch = getchar();
    while (ch < '0' || ch > '9') {if (ch == '-')ff = -1; ch = getchar();}
    while (ch >= '0' && ch <= '9')xx = xx * 10 + (ch - '0'), ch = getchar();
    return xx * ff;
}
// void write(int out) {
// 	if (out < 0)
// 		putchar('-'), out = -out;
// 	if (out > 9)
// 		write(out / 10);
// 	putchar(out % 10 + '0');
// }
#define cdbg(x...) do { cerr << #x << " -> "; err(x); } while (0)
void err() { cerr << endl; }
template<template<typename...> class T, typename t, typename... A>
void err(T<t> a, A... x) { for (auto v: a) cerr << v << ' '; err(x...); }
template<typename T, typename... A>
void err(T a, A... x) { cerr << a << ' '; err(x...); }


const int N = 3e5 + 5;
const int INF = 1e18;
const int M = 1e7;
const int MOD = 1e9 + 7;

int a[N],c[N],b[N];

signed main() {
    // freopen(".in","r",stdin);
    // freopen(".out","w",stdout);


    int n=rd,m=rd;
    for(int i=1;i<=n;i++){
        a[i]=rd;
    }
    for(int j=1;j<=n;j++){
        b[j]=rd;
        c[j]=a[j]+b[j];
    }



    sort(a+1,a+n+1,greater<int> ());
    sort(c+1,c+n+1,greater<int> ());

    int la=0,lc=0;
    int ans=0,sum=0;
    for(int i=1;i<=m;i++){
        if(la<n||lc<n){
            if(la==n){
                sum+=c[++lc];
                sum-=a[la--];
            }else if(lc==n){
                sum+=a[++la];
            }else if(la>0&&a[la+1]+a[la]<c[lc+1]){
                sum+=c[++lc]-a[la--];
            }else{
                sum+=a[++la];
            }
        }
        // cdbg(sum,la,lc);
        ans^=sum;
    }




    cout<<ans<<endl;
    


}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1184kb

input:

4 10
2 2 4 8
8 4 7 10

output:

2

result:

ok 1 number(s): "2"

Test #2:

score: 10
Accepted
time: 1ms
memory: 1180kb

input:

5 10
51072389 300657765 633439665 787090487 68456665
196385267 67864372 385977125 213928095 324494080

output:

3719844854

result:

ok 1 number(s): "3719844854"

Test #3:

score: 10
Accepted
time: 0ms
memory: 1184kb

input:

5 10
48720179 139181569 338164905 149648143 77222193
187724219 91625887 540142777 43334953 184586388

output:

215635088

result:

ok 1 number(s): "215635088"

Test #4:

score: 10
Accepted
time: 31ms
memory: 3524kb

input:

100000 102662
33421051 125633985 365251021 255717315 262377226 360896081 5951202 90071401 154444767 ...

output:

69628185742891

result:

ok 1 number(s): "69628185742891"

Test #5:

score: 10
Accepted
time: 27ms
memory: 3524kb

input:

100000 102838
588484254 69882126 151341881 500364775 68104321 134809939 50886121 98623841 274710921 ...

output:

2211168290969

result:

ok 1 number(s): "2211168290969"

Test #6:

score: 10
Accepted
time: 27ms
memory: 3520kb

input:

100000 102858
816229225 31491762 141788824 11587861 40202296 167103151 76959748 111706177 185028195 ...

output:

6040329651388

result:

ok 1 number(s): "6040329651388"

Test #7:

score: 10
Accepted
time: 29ms
memory: 3524kb

input:

100000 100
12830259 71768257 32489793 11032029 534815873 25056247 9333295 338811835 392555485 787185...

output:

4970387228

result:

ok 1 number(s): "4970387228"

Test #8:

score: 10
Accepted
time: 23ms
memory: 3520kb

input:

100000 100
72601214 53610670 93861411 367396001 45683503 4337367 98950041 888815737 409387861 106118...

output:

134182801545

result:

ok 1 number(s): "134182801545"

Test #9:

score: 10
Accepted
time: 14ms
memory: 3520kb

input:

100000 150000
667 605 113 157 314 281 1 234 801 121 561 414 25 953 434 233 421 601 993 969 209 695 7...

output:

33097015

result:

ok 1 number(s): "33097015"

Test #10:

score: 10
Accepted
time: 14ms
memory: 3520kb

input:

100000 150000
96 945 103 451 167 433 537 867 781 656 145 507 381 960 753 700 93 133 122 952 393 985 ...

output:

7610868

result:

ok 1 number(s): "7610868"