Submission #25493

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
254932017-06-22 12:44:07gabrielsimoesBali Sculptures (APIO15_sculpture)C++14
100 / 100
149 ms9864 KiB
#include <bits/stdc++.h>
using namespace std;
typedef signed char sc;
typedef long long ll;
const int MAXN = 2001;
const sc MINLOG = -1;
const sc MAXLOG = 44;
#define most(a) (63 - __builtin_clzll(a))
#define sum(i, j) (v[j] - v[i-1])
int N, A, B;
ll v[MAXN];
ll x;
sc cost(int i, int j) {
ll a = sum(i,j)&~x;
if (a != 0) return most(a);
else return MINLOG;
}
bool ok[MAXN][MAXN];
sc dp[MAXN][MAXN];
sc f(int i, int g) {
if (i > N)
return (g < A | g > B)?MAXLOG:MINLOG;
if (ok[i][g]) return dp[i][g];
ok[i][g] = 1;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

sculpture.cpp: In function 'sc f(int, int)':
sculpture.cpp:27:13: warning: suggest parentheses around comparison in operand of '|' [-Wparentheses]
   return (g < A | g > B)?MAXLOG:MINLOG;
             ^
sculpture.cpp: In function 'int main()':
sculpture.cpp:58:17: warning: format '%d' expects argument of type 'int*', but argument 2 has type 'll* {aka long long int*}' [-Wformat=]
   scanf("%d", &x), v[i] = v[i-1] + x;
                 ^
sculpture.cpp:56:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d %d", &N, &A, &B);
                               ^
sculpture.cpp:58:37: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &x), v[i] = v[i-1] + x;
                                     ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...