原题

小a与"204"(牛客)-LMLPHP

公式

中间数字与变量之间乘号bug省略可能看着有点别扭例如8x2为8*x2

首先设扫一遍后0的个数为x0 2的个数为x2 4的个数为x4

①如果x0=x4

ans=32*x4+4

②如果x0>x4

定义now为x0-x4+1

(1)如果now>x2

ans=32x4+8x2

否则

ans=32x4+(2now-1)*4

③如果x0<x4

定义now为x4-x0

(1)如果now>x2

ans=32x0+8x2+16

否则

ans=32x0+(2now-1)*4+16

代码

#include <bits/stdc++.h>
using namespace std;
int bk[10];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,t;
cin>>n;
while(n--)
cin>>t,bk[t]++;
if(bk[0]==bk[4])
cout<<32*bk[4]+4;
else if(bk[0]>bk[4])
{
int now=bk[0]-bk[4]+1;
if(now>bk[2])
cout<<32*bk[4]+bk[2]*8;
else
cout<<32*bk[4]+(2*now-1)*4;
}
else
{
int now=bk[4]-bk[0];
if(now>bk[2])
cout<<32*bk[0]+8*bk[2]+16;
else
cout<<32*bk[0]+(2*now-1)*4+16;
}
}
05-11 18:11