B .Views Matter (CF 523 Div.2)
https://mp.csdn.net/postedit/84366147
,自己画画图,排个序,(m就相当于a[n]了)每一行每一列至少有一个,所以先把每一行的都放一个,ans=n,然后遍历列,k是从低的行遍历到高的行,如果当前列能达到k高度,直接将原初放的那块,移到当前高度位置,不然,随便放就可以,自己画图想想,不难,
代码:
#include
using namespace std;
long long n,m,a[100005],ans,s;
int main()
{cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];s+=a[i];}sort(a+1,a+n+1);int k=1;ans=n;for(int i=1;i<=n;i++){if(a[i]>=k){k++;if(k>a[n]) break;}}ans+=a[n]-k+1;cout<
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
