Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
109179 | 周歆童(初一23 | 修理牛棚 | C++ | 通过 | 100 | 0 MS | 252 KB | 581 | 2023-11-06 21:48:21 |
#include<bits/stdc++.h> using namespace std; bool cmp(int a,int b){ return a>b; } int m,s,c,x,a[205],cnt,ans; bool b[205],b1[205]; int main(){ cin>>m>>s>>c; for(int i=1;i<=c;i++){ cin>>x; if(!b[x])cnt++; b[x]=1; ans=max(ans,x); } if(m>=cnt){ cout<<cnt; return 0; } for(int i=1;!b[i];i++){ ans--; } for(int i=1;i<=ans;i++){ if(b1[i])continue; for(int j=i;j<=ans;j++){ b1[j]=1; if(b[j+1]){ a[i]=j-i; break; } } } sort(a+1,a+s+1,cmp); for(int i=1;i<m;i++){ ans-=a[i]; } cout<<ans; return 0; }