This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "gap.h"
#include <stdio.h>
#include <vector>
#define maxN (1<<28)
using namespace std;
long long max(long long x, long long y) {return x > y ? x : y;}
long long findGap(int T, int N)
{
vector<long long> d(10000000);
long long mn, mx, s, t;
long long sol = 0, sag = maxN;
int solIn = 0, sagIn = N-1;
while (solIn < sagIn) {
// printf("Sol: %lld, sag: %lld, ", sol, sag);
s = sol, t = sag;
MinMax(s, t, &mn, &mx);
//printf("mn: %lld, mx: %lld\n", mn, mx);
d[solIn++] = sol = mn;
d[sagIn--] = sag = mx;
sol++, sag--;
}
if (solIn == sagIn) {
MinMax(d[solIn-1]+1, t, &mn, &mx);
d[solIn] = mn;
}
long long fark = 0;
/* for (int i = 0; i < N; i++)
printf("%d ", d[i]);
printf("\n");
*/for (int i = 1; i < N; i++)
fark = max(fark, d[i] - d[i-1]);
return fark;
}
Compilation message (stderr)
gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:27:42: warning: 't' may be used uninitialized in this function [-Wmaybe-uninitialized]
MinMax(d[solIn-1]+1, t, &mn, &mx);
^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |