QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#221095#6525. New HouseshazeRE 0ms3764kbC++201.6kb2023-10-21 08:55:172023-10-21 08:55:18

Judging History

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

  • [2023-10-21 08:55:18]
  • 评测
  • 测评结果:RE
  • 用时:0ms
  • 内存:3764kb
  • [2023-10-21 08:55:17]
  • 提交

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(m == 0 && 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;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3764kb

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
Runtime Error

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:


result: