/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 2ms 764.0 KiB
#3 Accepted 559ms 5.84 MiB
#4 Time Exceeded ≥2090ms ≥5.117 MiB
#5 Time Exceeded ≥2087ms ≥5.133 MiB

Code

#include <bits/stdc++.h>
using namespace std;

#define       ll           long long
#define       dub          double
#define       ull          unsigned long long
#define       CY           cout << "YES\n"
#define       CN           cout << "NO\n"
#define      allok()      (ios_base:: sync_with_stdio(false),cin.tie(NULL));

//** Number theory --> begin

ll gcd ( ll a, ll b )
{
    if ( b == 0 ) return a;
    else return gcd ( b, a%b );
}
ll lcm ( ll a, ll b )
{
    return (a*b) / gcd(a, b);
}

const ll m = 1e9;
ll mod ( ll a )
{
    return ( (a%m + m) % m );
}
ll madd ( ll a, ll b )
{
    return mod ( mod(a)+mod(b) );
}
ll mmul ( ll a, ll b )
{
    return mod ( mod(a)*mod(b) );
}

//** Number theory --> end


//** Bitwise --> begin

// swap ( x, y ) --> x=x^y, y=x^y, x=x^y
// if x=a then x=b // if x=b then x=a --> x=a^b^x
// a+b=(a^b)+2(a&b)
// a+b=(a|b)+(a&b)

bool checkkthbit ( ll x, ll k )
{
    return (x & (1<<k));  // k'th bit set or not
}
ll setkthbit1 ( ll x, ll k )
{
    return (x | (1<<k));   // make k'th bit 1;
}
ll setkthbit0 ( ll x, ll k )
{
    return (x &~ (1<<k));   // make k'th bit 0;
}
ll mulnumby2powk ( ll x, ll k )
{
    return (x<<k);   // x*(pow(2,k))
}
ll divnumby2powk ( ll x, ll k )
{
    return (x>>k);   // x/pow(2,k)
}
int noofsetbitint ( int x )
{
    return __builtin_popcount(x);  // int set bit count
}
ll noofsetbitll ( ll x )
{
    return __builtin_popcountll(x); // ll set bit count
}
ll togglekthbit ( ll x, ll k )
{                          // if k = 0 then k = 1
    return (x ^ ( 1<<k ));  // if k = 1 then k = 0
}
bool powerof2 ( ll x )
{
    return (x && !(x&(x-1))); // power of 2 checking
}

//** Bitwise --> end


void oddsum ( ll a[], ll x )
{
    ll mio = INT_MAX;
    bool odd = false;
    ll sm = 0;
    for ( ll i=0; i<x; i++ ) {
        if ( a[i] > 0 ) sm += a[i];
        if ( (a[i] & 1) ) {
            odd = true;
            if ( mio > abs ( a[i] ) ) {
                mio = abs ( a[i] );
            }
        }
    }
    if ( !(sm & 1) ) sm -= mio;
    cout << sm << endl;
}

void solve ( )
{
    ll x;
    cin >> x;
    vector <ll> v(x);
    for ( ll i=0; i<x; i++ ) cin >> v[i];

    vector <ll> v1(x), v2(x);
    v1[0] = 0;
    for ( ll i=1; i<x; i++ ) {
        if ( v[i] >= v[i-1] ) {
            v1[i] = v1[i-1];
        }
        else v1[i] = i;
    }
    v2[x-1] = x-1;
    for ( ll i=x-2; i>=0; i-- ) {
        if ( v[i] <= v[i+1] ) {
            v2[i] = v2[i+1];
        }
        else v2[i] = i;
    }

    ll y;
    cin >> y;
    while ( y-- ) {
        ll a, b, c;
        cin >> a >> b >> c;
        if ( a == 1 ) {
            v[b-1] = c;
            for ( ll i=b-1; i<x; i++ ) {
                if ( v[i] >= v[i-1] || i == 0 ) {
                    v1[i] = v1[i-1];
                }
                else v1[i] = i;
            }
            for ( ll i=b-1; i>=0; i-- ) {
                if ( v[i] <= v[i+1] || i == x-1 ) {
                    v2[i] = v2[i+1];
                }
                else v2[i] = i;
            }
        }
        else {
            if ( v1[c-1] <= b-1 ) {
                if ( v2[b-1] >= c-1 ) CY;
                else CN;
            }
            else CN;
        }
    }
}

int main() {

       // allok();
        ll tc, cnt=1;
        solve();


 return 0;
}

Information

Submit By
Type
Submission
Problem
P1085 Sorted or !Sorted
Contest
Bangladesh 2.0
Language
C++20 (G++ 13.2.0)
Submit At
2024-08-16 16:52:10
Judged At
2024-11-11 03:13:41
Judged By
Score
30
Total Time
≥2090ms
Peak Memory
≥5.84 MiB