| 比赛 |
2026.5.16 |
评测结果 |
AAWWWWWWWA |
| 题目名称 |
Divide |
最终得分 |
30 |
| 用户昵称 |
汐汐很希希 |
运行时间 |
0.399 s |
| 代码语言 |
C++ |
内存使用 |
3.70 MiB |
| 提交时间 |
2026-05-16 10:54:31 |
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=2010;
int n,m,w[N];
int main()
{
freopen("divide.in","r",stdin);
freopen("divide.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>w[i];
sort(w+1,w+n+1);
int flag=true;
for(int i=2;i<n;i++) if(w[i]-w[i-1]!=w[i+1]-w[i]) flag=false;
if(n<=18){
ll ans=-1,sum=0;
for(int k=1;k<=(1<<n);k++)
{
ll cnt=0;
for(int i=1;i<=n;i++)
{
if(!(k&(1<<i))) continue;
for(int j=1;j<=n;j++)
{
if(k&(1<<j)) continue;
if(w[i]+w[j]>=m) cnt++;
}
}
if(cnt>ans){
ans=cnt,sum=1;
}else if(cnt==ans){
sum++;
}
}
cout<<ans<<' '<<sum<<endl;
}else if(flag){
}else{
cout<<"I can't do it"<<endl;
}
return 0;
}