问题标题: 酷町堂:2621

0
0
已解决
黄俊博
黄俊博
资深光能
资深光能

为什么我10分

 

 

#include<iostream>
#include<stack>
#include<algorithm>
using namespace std;

stack<int> s;
int n;
int a[262200];

int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];  
    sort(a+1,a+n+1);
    for(int i=1;i<=n;i++)
    {
        if(s.size()>0 && s.top()==a[i])
        {
            s.pop();
            s.push(a[i]+1);
        }
        else if(s.size()>1 && s.top()<a[i] &&s.top()!=a[i])
        {
            int k=s.top();
            s.pop();
            if(s.top()==k)
            {
                s.pop();
                s.push(k+1);
            }
            else
                s.push(k);
        }
        else if(s.size()>1 && s.top()>a[i] && s.top()!=a[i])
        {
            int k=s.top();
            s.pop();
            if(a[i]==s.top())
            {
                s.pop();
                s.push(a[i]+1);
            }
            else
                s.push(a[i]);
                
            if(s.top()==k)
            {
                s.pop();
                s.push(k+1);
            }
            else
                s.push(k);
            
        }
        else if(s.size()==0)
            s.push(a[i]);
    }
    int maxv=0;
    while(!s.empty())
    {
        maxv=max(maxv,s.top());
        s.pop();
    }
    cout<<maxv;
    return 0;
}

 

 


1
已采纳
曾凡一
曾凡一
新手光能
新手光能

你是怎么用栈写的,老师不是说让我们用搜索吗???

0
王子健
王子健
初级天翼
初级天翼

呜呜呜呜呜呜呜呜呜呜,好惨哦。

王子健在2018-10-17 20:01:57追加了内容

我也不会

0
0
我要回答