# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1157138 | vicvic | Progression (NOI20_progression) | C++20 | 585 ms | 54636 KiB |
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
const int NMAX=3e5;
int v[NMAX+5], n, q;
class SegTree
{
public:
struct node
{
int l, r, sm, pref, suf, pref_len, suf_len, lazy, lazy2, hi, reset;
node ()
{
this -> l=this -> r=this -> sm=this -> pref=this -> suf=this -> pref_len=this -> suf_len=this -> lazy=this -> lazy2=this -> hi=this -> reset=0;
}
} t[NMAX*4+5];
node merge (node b, node a)
{
node ret;
ret.l=b.l;
ret.hi=max (b.hi, a.hi);
if (b.suf==a.pref)
ret.hi=max (ret.hi, b.suf_len+a.pref_len);
ret.r=a.r;
ret.sm=a.sm+b.sm;
ret.pref=b.pref;
ret.suf=a.suf;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |