??为什么??
查看原帖
??为什么??
717267
linjiake9001楼主2024/3/6 21:45

dalao 求助!!!

测试点#3数据下载后代码运行是正确的,但为什么WA了?

输入:

100 80 20
29 21 19 23 18 15 24 15 29 19 10 14 14 25 16 16 18 16 22 22
94 1
54 2
58 3
52 4
30 5
68 6
96 7
77 8
75 9
33 10
36 11
38 12
31 13
50 14
80 15
82 16
43 17
99 18
42 19
37 20
55 1
63 7
58 2
43 6
62 7
43 20
67 4
96 6
77 10
38 11
33 12
45 3
50 1
35 18
48 3
30 12
51 10
50 13
64 7
59 10
83 2
94 13
33 6
50 1
80 16
88 4
36 19
53 11
93 15
54 7
56 11
92 4
51 20
49 14
67 18
83 7
78 16
47 12
87 4
53 11
94 8
48 8
85 8
48 3
92 20
89 6
93 8
57 3
58 7
48 15
84 3
79 16
62 2
77 9
62 18
55 4
96 13
30 5
59 12
36 3
92 12
31 2
30 18
76 16
67 19
89 17
35 3
64 10
34 19
90 7
63 8
56 12
82 15
68 1
39 2
89 5
43 4
46 9
68 19
75 4

输出:

3142

代码:

//#pragma GCC optimize(1)
//#pragma GCC optimize(2)
//#pragma GCC optimize(3,"Ofast","inline")
#include<iostream>
#include<algorithm>
using namespace std;

int n,m,k,ans,pos_,t;
int op,temp; 
int arr[105][205];
int cnt[105];
int pos[105];
int q[105];
bool cmp(int a,int b)
{
	return a>b;
}

int main()
{
	cin>>n>>m>>k;
	for(int i = 1;i<=k;i++)
	{
		cin>>cnt[i];
	}
	for(int i = 1;i<=n;i++)
	{
		cin>>temp>>op;
		arr[op][++pos[op]] = temp;
	}
	for(int i = 1;i<=n;i++)
	{
		sort(arr[i]+1,arr[i]+pos[i]+1,cmp);
	}
	
	for(int i = 1;i<=n;i++)
	{
		for(int j = 1;j<=cnt[i];j++)
		{
			q[++pos_] = arr[i][j];
		}
		t+=cnt[i];
	}
	
	sort(q+1,q+t+1,cmp);
	
	for(int i = 1;i<=m;i++)
		ans+=q[i];
		
	cout<<int(ans)<<endl;
	return 0;
}

代码样例过了,但是WA。

2024/3/6 21:45
加载中...