B. Views Matter
阿新 • • 發佈:2018-11-23
連結
[http://codeforces.com/contest/1061/problem/B]
題意
問你最多去掉多少塊使得從上和右看,投影圖不變
分析
注意細節,尤其第一列
程式碼
#include<bits/stdc++.h> using namespace std; #define ll long long ll a[100010]; int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); //freopen("in.txt","r",stdin); ll n,m,i; while(cin>>n>>m){ for(i=0;i<n;i++) cin>>a[i]; sort(a,a+n); ll ma=a[n-1]; ll sum=0,j=1; for(i=0;i<n;i++){ if(i==n-1&&j<=ma) sum+=j-1; else if(a[i]>=j&&j<=ma&&i!=0) sum+=a[i]-1,j++; else if(i==0&&a[i]>1) sum+=a[i]-1,j++; else if(i==0&&a[i]==1) j++; else if(a[i]>1) sum+=a[i]-1; //cout<<sum<<endl; } cout<<sum<<endl; } return 0; }