1. 程式人生 > >Codeforces Round #523 (Div. 2) B. Views Matter

Codeforces Round #523 (Div. 2) B. Views Matter

可能 con 並且 滿足 span div 格子 方法 color

B. Views Matter

題目鏈接:https://codeforc.es/contest/1061/problem/B

題意:

給一個類似棋盤的東西,對於每一列都放有格子,問在無重力的條件下,最多可以抽取多少個格子,並且使縱向視圖和橫向視圖保持原樣。

題解:

這題還是采用貪心的方法,先排個序,這並不影響結果。

對於每一列,肯定有一個棋子來滿足縱向視圖,然後盡可能地將它往高處放來滿足橫向視圖,前提是高度低於它的橫向視圖已經有棋子了。

代碼如下:

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
const int N = 100005; int n,m; int a[N]; ll sum = 0; int main(){ cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i],sum+=a[i]; sort(a+1,a+n+1); int y = 0,x = 0; for(int i=1;i<=n;i++){ x++; if(a[i]>y) y++; } ll ans = 0; ans = a[n]-y+x; printf(
"%lld",sum-ans); return 0; }

Codeforces Round #523 (Div. 2) B. Views Matter