Pagini recente » Cod sursa (job #786140) | Cod sursa (job #2442962) | Cod sursa (job #495342) | Cod sursa (job #2909568) | Cod sursa (job #635672)
Cod sursa(job #635672)
#include <cstdio>
#include <iostream>
#include <string>
#include <deque>
using namespace std;
char x[505];
deque <char> d;
int main()
{
int contor=0,max=0;;
freopen("palm.in","r", stdin);
freopen("palm.out","w", stdout);
fgets(x,505,stdin);
int n=strlen(x);
for(int i=0;i<n;i++)
{
contor=0;
if(d.size()==0) d.push_back(x[i]);
else
{
//while(d.size()>0 && d.back()>x[i]) d.pop_back();
if(d.size()>0 && d.back()>x[i])
{
//cout<<" Pozitia : "<<i<<" si x : "<<x[i]<<endl;
/*while(d.size())
{
contor++;
d.pop_back();
cout<<contor<<endl;
}*/
d.pop_back();
contor++;
while(d.size()>0 && i+1<=n && x[i]==d.back()) //&& x[i]>x[i+1]
{
//cout<<" d spate : "<<d.back()<<" si "<<x[i]<<" i="<<i<<" contor de aici: " <<contor<<endl;
d.pop_back();
//d.push_back(x[i]);
contor+=2;
i++;
}
if(d.size())cout<<endl<<" d.spate 2 " <<d.back()<<" si x "<<x[i]<<endl;
d.clear();
//cout<<" contor : " <<contor<<endl;
}
if(contor>max) max=contor;
//cout<<i<<" "<<x[i]<<endl;
// contor=0;
d.push_back(x[i]);
contor=0;
}
}
//cout<<d.size();
//for(int i=0;i<d.size();i++) cout<<d[i]<<" ";
cout<<max;
return 0;
}