51nod 1596 搬货物 【思维题】

来源:互联网 发布:新网域名跳转微博 编辑:程序博客网 时间:2024/06/13 10:22

遵从一个规律 是否由 两个相同的可以合并 可以合并就 进行下一阶段的判定
如果只有单个的 只能将其统计

#include<iostream>#include<string.h>#include<queue>using namespace std;int n,w,ans=0;int a[1001000];int main(){    ios::sync_with_stdio(false);    cin>>n;    memset(a,0,sizeof(a));    for(int i=0;i<n;i++){        cin>>w;        a[w]++;    }    for(int i=0;i<1001000;i++){        a[i+1]+=a[i]/2;        a[i]=a[i]%2;        if(a[i]==1) ans++;    }    cout<<ans<<endl;    return 0;}
原创粉丝点击