제출 #749441

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
7494412023-05-28 03:37:55ThMinh_3단 점프 (JOI19_jumps)C++14
100 / 100
1903 ms115884 KiB
#include<bits/stdc++.h>
#define forin(i,a,b) for(int i=a;i<=b;++i)
#define forde(i,a,b) for(int i=a;i>=b;--i)
#define ll long long
using namespace std;
const int N = 5e5 + 10;
int n, q;
ll d[N], tr[N << 2], lazy[N << 2], ans[N], sp[20][N];
struct query {
int f, l, pos;
};
query r[N];
void build() {
forin(i,1,n) sp[0][i] = d[i];
forin(j,1,log2(n)) {
forin(i,1,n - (1 << j - 1) + 1) {
sp[j][i] = max(sp[j - 1][i], sp[j - 1][i + (1 << j - 1)]);
}
}
}
ll mx(int f, int l) {
if(f == l) return d[f];
int j = log2(l - f + 1);
return max(sp[j][f], sp[j][l - (1 << j) + 1]);
}
void push(int id, int f, int l) {
ll t = lazy[id];
if(t) {
tr[id] = max(tr[id], t + mx(f, l));
if(f < l) {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

jumps.cpp: In function 'void build()':
jumps.cpp:16:31: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   16 |         forin(i,1,n - (1 << j - 1) + 1) {
      |                             ~~^~~
jumps.cpp:2:37: note: in definition of macro 'forin'
    2 | #define forin(i,a,b) for(int i=a;i<=b;++i)
      |                                     ^
jumps.cpp:17:64: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   17 |             sp[j][i] = max(sp[j - 1][i], sp[j - 1][i + (1 << j - 1)]);
      |                                                              ~~^~~
jumps.cpp: In function 'void up(int, int, long long int, int, int, int)':
jumps.cpp:45:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   45 |     int mid = f + l >> 1;
      |               ~~^~~
jumps.cpp: In function 'long long int get(int, int, int, int, int)':
jumps.cpp:54:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   54 |     int mid = f + l >> 1;
      |               ~~^~~
jumps.cpp: In function 'int main()':
jumps.cpp:87:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   87 |         while(j <= vt.size() - 1 && vt[j].first >= r[i].f) {
      |               ~~^~~~~~~~~~~~~~~~
jumps.cpp:60:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   60 |         freopen("Task.inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
jumps.cpp:61:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   61 |         freopen("WA.out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...