Submission #37814

# Submission time Handle Problem Language Result Execution time Memory
37814 2017-12-28T07:16:56 Z mirbek01 Divide and conquer (IZhO14_divide) C++14
17 / 100
169 ms 21548 KB
# include <bits/stdc++.h>

# define pb push_back
# define fr first
# define sc second
# define mk make_pair

using namespace std;

const int inf = 1e9 + 7;
const int N = 1e6 + 5;

typedef long long ll;

int n, a[N];
ll ans, b[N], c[N];

void dv(int l, int r, int opl, int opr)
{
      if(l > r) return ;
      int md = (l + r) >> 1;;
      ll opt, res = 0;

      for(int i = opl; i <= min(md, opr); i ++)
      {
            res = b[md] - b[i - 1];
            ll sum = c[md] - c[i - 1];
            opt = i;
            if(sum >= a[md] - a[i])
                  break;
      }
      ans = max(ans, res);
      dv(l, md - 1, opl, opt);
      dv(md + 1, r, opt, opr);
}

int main()
{
      cin >> n;

      for(int i = 1; i <= n; i ++)
      {
            cin >> a[i] >> b[i] >> c[i];
            b[i] += b[i - 1];
            c[i] += c[i - 1];
      }

      dv(1, n, 1, n);

//      for(int i = 1; i <= n; i ++)
//      {
//            for(int j = 1; j <= i; j ++)
//            {
//                  ll res = b[i] - b[j - 1], sum = c[i] - c[j - 1];
//                  if(sum < a[i] - a[j]) continue;
//                  ans = max(ans, res);
//                  break;
//            }
//      }

      cout << ans << endl;
}

Compilation message

divide.cpp: In function 'void dv(int, int, int, int)':
divide.cpp:33:9: warning: 'opt' may be used uninitialized in this function [-Wmaybe-uninitialized]
       dv(l, md - 1, opl, opt);
         ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 21548 KB Output is correct
2 Correct 0 ms 21548 KB Output is correct
3 Correct 0 ms 21548 KB Output is correct
4 Correct 0 ms 21548 KB Output is correct
5 Correct 0 ms 21548 KB Output is correct
6 Correct 0 ms 21548 KB Output is correct
7 Correct 0 ms 21548 KB Output is correct
8 Correct 0 ms 21548 KB Output is correct
9 Correct 0 ms 21548 KB Output is correct
10 Correct 0 ms 21548 KB Output is correct
11 Correct 0 ms 21548 KB Output is correct
12 Correct 0 ms 21548 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 21548 KB Output is correct
2 Correct 0 ms 21548 KB Output is correct
3 Incorrect 0 ms 21548 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 21548 KB Output is correct
2 Correct 6 ms 21548 KB Output is correct
3 Correct 9 ms 21548 KB Output is correct
4 Correct 59 ms 21548 KB Output is correct
5 Correct 66 ms 21548 KB Output is correct
6 Correct 169 ms 21548 KB Output is correct
7 Correct 106 ms 21548 KB Output is correct
8 Correct 103 ms 21548 KB Output is correct
9 Correct 123 ms 21548 KB Output is correct
10 Incorrect 109 ms 21548 KB Output isn't correct
11 Halted 0 ms 0 KB -