QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#221097#6525. New HouseshazeWA 32ms3644kbC++201.6kb2023-10-21 08:57:062023-10-21 08:57:06

Judging History

你现在查看的是最新测评结果

  • [2023-10-21 08:57:06]
  • 评测
  • 测评结果:WA
  • 用时:32ms
  • 内存:3644kb
  • [2023-10-21 08:57:06]
  • 提交

answer

#include<bits/stdc++.h>
#define irep(i,l,r) for(int (i) = (l); (i) <= (r); ++(i))
#define drep(i,r,l) for(int (i) = (r); (i) >= (l); --(i))
#define ceil(pp,qq) (((pp)>0)^((qq)>0)?-abs(pp)/abs(qq):(pp)%(qq)?(pp)/(qq)+1:(pp)/(qq))
#define floor(pp,qq) (((pp)>0)^((qq)>0)?-ceil(abs(pp),abs(qq)):(pp)/(qq))
#define ll long long
#define LL __int128
using namespace std;

inline ll read(){
	char ch = getchar();
	ll s = 0; bool w = 0;
	while(!isdigit(ch)){if(ch == '-')w = 1;ch = getchar();}
	while(isdigit(ch))s = (s << 3) + (s << 1) + (ch ^ 48), ch = getchar();
	return w ? - s : s;
}

inline char rc(){
	char ch = getchar();
	while(1){
		if(ch >= 'A' && ch <= 'Z')return ch;
		if(ch >= 'a' && ch <= 'z')return ch;
		ch = getchar();
	}
}

template<class T1, class T2>
T1 min(T1 AA, T2 BB){return AA > BB ? BB : AA;}
template<class T1, class T2>
T1 max(T1 AA, T2 BB){return AA < BB ? BB : AA;}

const int itinf = 1e9;
const ll llinf = 4e18;
const int mod = 1000000007;
const int N = 500009;

void solve(){
	int n = read(), m = read();
	m -= n;
	int single;
	if(m >= n - 1)single = n;
	else single = m;
	ll ans = 0;
	vector<ll>delta(n);
	irep(i, 0, n - 1){
		ll nei = read(), sig = read();
		ans += nei, delta[i] = sig - nei;
	}
	if(n == 1){
		printf("%lld\n", ans + delta[0]);
		return;
	}
	if(m >= n - 1){
		-- single;
		delta[single - 1] += delta[single];
	}
		
	//cerr << single << endl;
	irep(i, 0, single - 1){
		ans += max(0, delta[i]);
	}
	printf("%lld\n", ans);
	return;
}

int main(){
	/*
	11111
	1010101 n = 4, m = 3, ok = {0,1,2,4}
	*/
	int T = read();
	while(T --){
		solve();
	}
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3644kb

input:

3
4 5
1 100
100 1
100 1
100 1
2 2
1 10
1 10
2 3
100 50
1 1000

output:

400
2
1050

result:

ok 3 number(s): "400 2 1050"

Test #2:

score: -100
Wrong Answer
time: 32ms
memory: 3620kb

input:

100000
6 11
191141536 365120521
799679686 648574232
102602909 467685128
405440859 796808887
384858152 191995380
433392826 195648471
5 13
831367906 510447872
795639287 575551283
811207605 176441088
240156289 946977042
133416463 721098873
5 5
806744021 699586200
630510306 637827160
49223781 641709297
...

output:

3247545200
4106290713
2653993029
5122532137
5570513606
2072414809
2044500908
1857678917
6767462839
2022236758
6479042694
4727734288
3532921538
5497726904
5513905900
4801915973
4705403467
1750408737
3430587752
4652417175
3867777554
1466967408
2692878616
3590877052
2409784919
974485573
6464787173
8839...

result:

wrong answer 6th numbers differ - expected: '2031887824', found: '2072414809'