QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#386162#6525. New HousesDDTWA 62ms3624kbC++231.1kb2024-04-11 13:14:092024-04-11 13:14:10

Judging History

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

  • [2024-04-11 13:14:10]
  • 评测
  • 测评结果:WA
  • 用时:62ms
  • 内存:3624kb
  • [2024-04-11 13:14:09]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int INF=0x3f3f3f3f;
#define endl '\n'
#define x first
#define y second
typedef long long ll;
typedef pair<int,int> PII;
PII a[500010];
bool cmp(PII a,PII b)
{
	if( max(a.x,a.y)==max(b.x,b.y))
		return a.x>b.x;
}
void solve()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		cin>>a[i].x>>a[i].y;
	sort(a+1,a+n+1,cmp);
	ll ans=0,p=m-n,t=0,l,r;
	for(int i=1;i<=n;i++)
	{
		if(a[i].x>=a[i].y)
		{
			ans+=a[i].x;
			t++;
			l=a[i].x;
			r=a[i].y;
		}
			
		else
		{
			if(p)
			{
				ans+=a[i].y;
				p--;
			}
			else 
			{
				ans+=a[i].x;
				t++;
				l=a[i].x;
				r=a[i].y;
			}
		}
	}
	if(t==1)
	{
		for(int i=n;i>=1;i--)
			if(a[i].x<a[i].y)
			{
				if(l+a[i].x>r+a[i].y)
				{
					ans+=a[i].x;
					ans-=a[i].y;
					break;
				}
				else
				{
					ans-=l;
					ans+=r;
					break;
				}
			}
		
	}
	cout<<ans<<endl;
}
int main()
{
	ios::sync_with_stdio(false);
	ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);
	int t;
	cin>>t;
	while(t--)
	{
		solve();
	}
	return 0;
}

詳細信息

Test #1:

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

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: 62ms
memory: 3624kb

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
2031887824
2044500908
1857678917
6815058419
2237593918
6646615756
5638337819
3690874076
5497726904
5513905900
5404435094
4705403467
2411992217
3430587752
4417863880
3921151709
1445672728
2692878616
3833748807
2409784919
974485573
6464787173
8839...

result:

wrong answer 20th numbers differ - expected: '5098767681', found: '4417863880'