#include<iostream>
#include<stdio.h>
#include<string>
#include<cstdlib>
#include<math.h>
#include<vector>
#define prt(a) printf("%d\n",a);
#define aaa printf("a\n");
#define bbb printf("b\n");
#define ccc printf("c\n");
using namespace std;
int*d,ddl=0,dn;
int o=0;
void znajdz(int a,int b);
int main()
{
scanf("%d",&dn); ddl=dn;
d=new int[ddl];
for(int*w=d;w<d+ddl;w++) scanf("%d",w);
int*buf=d; o=*d;
for(int*w=d;w<d+ddl;w++)
if(*w>o)
{
o=*w;
buf=w;
}
*buf=-1; dn--;
znajdz(o,1);
prt(o)
delete[]d;
return 0;
}
void znajdz(int a,int b)
{
for(int*w=d;w<d+ddl;w++)
if(*w==a)
{
*w=-1;
dn--;
b--;
if(b==0) return znajdz(++o,1);
}
if((b+b<=dn)&&(a>0))
return znajdz(--a,b+b);
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #include<iostream> #include<stdio.h> #include<string> #include<cstdlib> #include<math.h> #include<vector> #define prt(a) printf("%d\n",a); #define aaa printf("a\n"); #define bbb printf("b\n"); #define ccc printf("c\n"); using namespace std; int*d,ddl=0,dn; int o=0; void znajdz(int a,int b); int main() { scanf("%d",&dn); ddl=dn; d=new int[ddl]; for(int*w=d;w<d+ddl;w++) scanf("%d",w); int*buf=d; o=*d; for(int*w=d;w<d+ddl;w++) if(*w>o) { o=*w; buf=w; } *buf=-1; dn--; znajdz(o,1); prt(o) delete[]d; return 0; } void znajdz(int a,int b) { for(int*w=d;w<d+ddl;w++) if(*w==a) { *w=-1; dn--; b--; if(b==0) return znajdz(++o,1); } if((b+b<=dn)&&(a>0)) return znajdz(--a,b+b); } |
English