Pagini recente » Cod sursa (job #2174085) | Cod sursa (job #788359) | Cod sursa (job #2187871) | Cod sursa (job #706824) | Cod sursa (job #1828520)
#include <fstream>
using namespace std;
int n, i, partide, coalitii, x, v[20002], s, j, d[20001], a[20001];
ifstream fin("politic.in");
ofstream fout("politic.out");
int main(){
fin>>n>>x;
int ant=x;
int nr=1;
for(i=2;i<=n;i++){
fin>>x;
if(x==ant+1)
nr++;
else{
v[++partide]=nr;
nr=1;
}
ant=x;
}
partide+=1;
v[partide]=nr;
fout<<partide<<" ";
// d[i]= cate coalitii se pot forma cu partidele pana la i
if(v[1]>n/2)
d[1]=a[1]=1;
for(i=2;i<=partide;i++){
s=v[i];
d[i]=d[i-1]; /*+a[i-1];
if(d[i-1])
d[i]++;
if(a[i-1])
d[i]++; */
for(j=i-1;j>0 /*&& s-v[i]+v[j]<=n/2*/;j--){
s+=v[j];
if(s>n/2){
d[i]++;
a[i]++;
}
}
//d[i]+=a[i-1]+a[i];
}
for(i=1;i<=partide;i++)
fout<<d[i]<<" ";
fout<<"\n";
/*for(i=1;i<=partide;i++)
fout<<a[i]<<" ";*/
fout<<d[partide];
return 0;
}