您的位置:首页 > 其它

CodeForces 222D - Olympiad

2016-07-17 11:26 288 查看
第一行给出两个个数字k和n,第二三行分别有k个数字,求将第二、三行之间的数字相互组合,求最多有多少个组合的和不小于n

纯粹暴力

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
int n,x;
int s1[100005],s2[100005];
int main()
{
scanf("%d%d",&n,&x);
for(int i=0;i<n;i++) scanf("%d",&s1[i]);
for(int i=0;i<n;i++) scanf("%d",&s2[i]);
sort(s1,s1+n);
sort(s2,s2+n);
int i,j=0;
for(i=n-1;i>=0;i--)
{
while(x>s1[i]+s2[j])
{
j++;
if(j>=n) break;
}
if(j>=n) break;
j++;
}
printf("1 %d\n",n-i-1);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: