栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3302 More Sweets!

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3302 More Sweets!

#include<iostream>#include<string>#include<cstring>#include<algorithm>#include<numeric>#include<cstdio>#include<cmath>using namespace std;const int maxn = 21111;int f[maxn],n,a[111];inline int lowbit(int x){return x&(-x);}inline int cal(int n,int m){return f[n]-f[m]-f[n-m];}void init(){int i,t,k=0;f[0]=0;for(i=1;i<=11111;++i){k=0;t=i;while((t+1)&1)++k,t>>=1;f[i]=f[i-1]+k;}}void go(int n,int s,int &x,int &y){if(a[n-1]<2){x=-1;y=0;return;}x=n+1;int t=cal(s,n);int b,c=0,cnt=0;for(int i=0;i<n;++i){b=a[i];if(b){while((b+1)&1)++c,b>>=1;}}y=c-t;}void gao(int n,int s,int &x,int &y){int c=s-a[0]+1;x=c;int cnt=count(a,a+n,a[0]);int t=cal(s,c-1);int k=0;while(cnt&&((cnt+1)&1))k++,cnt>>=1;y=k-t;}int main(){init();int i,j;int x,y;while(~scanf("%d",&n)){int s=0;for(i=0;i<n;++i){scanf("%d",a+i);s+=a[i];}sort(a,a+n);go(n,s,x,y);printf("%dn%dn",x,y);gao(n,s,x,y);printf("%dn%dn",x,y);}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/374285.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号