#include <iostream>
using namespace std;
void bubble_sort(int *A,int n) {
int i,chair,done;
do {
done=1;
for (i=0;i<n-1;i++) {
if (A[i]<A[i+1]) {
chair=A[i];
A[i]=A[i+1];
A[i+1]=chair;
done=0;
}
}
} while (!done);
}
void printv(int *A,int n) {
for (int i=0;i<n;i++) {
printf("%d ",A[i]);
}
printf("\n");
}
int main() {
int *L,*T,tidx,pidx,vidx,*V,*P,n,i,j,nr,hp,cnt,islands,maxislands;
FILE *fin,*fout;
fin=fopen("gw.in","r");
fscanf(fin,"%d",&n);
L=(int*)calloc(n,sizeof(int));
T=(int*)calloc(n,sizeof(int));
j=1;
fscanf(fin,"%d",L);
for (i=1;i<n;i++) {
fscanf(fin,"%d",&nr);
if (nr!=L[j-1]) L[j++]=nr;
}
tidx=0;
if (L[0]>L[1]) {
T[tidx++]=L[0];
}
for (i=1;i<n-1;i++) {
if (L[i-1]<L[i] && L[i]>L[i+1]) T[tidx++]=L[i];
else if (L[i-1]>L[i] && L[i]<L[i+1]) T[tidx++]=L[i];
}
if (L[n-2]<L[n-1]) {
T[tidx++]=L[n-1];
}
free(L);
V=(int*)calloc(tidx/2+1,sizeof(int));
P=(int*)calloc(tidx/2+2,sizeof(int));
vidx=0; pidx=0;
for (i=0;i<tidx;i+=2) P[pidx++]=T[i];
for (i=1;i<tidx;i+=2) V[vidx++]=T[i];
free(T);
bubble_sort(P,pidx);
bubble_sort(V,vidx);
//printv(P,pidx);
//printv(V,vidx);
islands=0; maxislands=0; i=0; j=0;
while (i<pidx || j<vidx) {
if (P[i]>V[j]) {
hp=P[i];
cnt=1;
while (P[++i]==hp) cnt++;
islands+=cnt;
} else {
hp=V[j];
cnt=1;
while (V[++j]==hp) cnt++;
islands-=cnt;
}
if (islands>maxislands) maxislands=islands;
}
printf("%d\n",maxislands);
}
Compilation message (stderr)
gw.cpp: In function 'int main()':
gw.cpp:30:11: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
30 | fscanf(fin,"%d",&n);
| ~~~~~~^~~~~~~~~~~~~
gw.cpp:34:11: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
34 | fscanf(fin,"%d",L);
| ~~~~~~^~~~~~~~~~~~
gw.cpp:36:15: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
36 | fscanf(fin,"%d",&nr);
| ~~~~~~^~~~~~~~~~~~~~| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |