原题链接:https://codeforces.ml/contest/1269/problem/D
就是给你一些方块,求最多能放多少个1x2或2x1的多米诺骨牌
黑白染色
相邻的方格颜色不同
答案就是数量少的颜色
代码:
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll a[300010];
int main()
{
ll n;
cin>>n;
for(int i=1;i<=n;i++)
{cin>>a[i];}
ll black=0;
ll white=0;
for(int i=1;i<=n;i++)
{
if(i%2!=0)
{
if(a[i]%2!=0)
{black+=a[i]/2+1;
white+=a[i]/2;}
else
{black+=a[i]/2;
white+=a[i]/2;}
}
else
{
if(a[i]%2!=0)
{white+=a[i]/2+1;
black+=a[i]/2;}
else
{white+=a[i]/2;
black+=a[i]/2;}
}
}
cout<<min(black,white)<<endl;
return 0;
}