제출 #1091294

#제출 시각아이디문제언어결과실행 시간메모리
1091294owieczkaGap (APIO16_gap)C++17
100 / 100
38 ms3276 KiB
#include "gap.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
vector<ll> points;

long long findGap(int T, int N)
{
   if (T == 1)
   {
      ll s = 0;
      ll t = 1e18;
      ll mn, mx;
      ll n = 0;
      MinMax(s, t, &mn, &mx);
      n += 2;
      s = mn;
      t = mx;
      ll m = 0;
      while (n < N)
      {
         MinMax(s+1, t-1, &mn, &mx);
         n += 2;
         m = max(m, mn - s);
         m = max(m, t - mx);
         s = mn;
         t = mx;
      }
      m = max(m, mx - mn);
      return m;
   }

   ll s = 0;
   ll t = 1e18;
   ll b, e;
   ll n = N;
   MinMax(s, t, &b, &e);
   // musze podzielic na przedziały
   ll prz = (e - b)/n + 1;
   ll mn, mx;
   points.push_back(b);
   for (ll i = b + 1; i < e; i+=prz)
   {
      MinMax(i, i + prz - 1, &mn, &mx);
      if (mn != -1)
         points.push_back(mn);
      if (mx != -1)
         points.push_back(mx);
   }
   points.push_back(e);
   mx = 0;
   for (ll i = 1; i < points.size(); i++)
   {
      mx = max(points[i] - points[i-1], mx);
   }
   return mx;
}

//1000000000000000000
//250'000'000'000'000'001

컴파일 시 표준 에러 (stderr) 메시지

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:52:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |    for (ll i = 1; i < points.size(); i++)
      |                   ~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...