Untitled
unknown
plain_text
a year ago
4.2 kB
9
Indexable
#include <bits/stdc++.h> //───▐▀▄──────▄▀▌───▄▄▄▄▄▄▄
#define ll long long //───▌▒▒▀▄▄▄▄▀▒▒▐▄▀▀▒██▒██▒▀▀▄•.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯
#define f first //──▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▀▄•.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯
#define s second //──▌▒▒▒▒▒▒▒▒▒▒▒▒▒▄▒▒▒▒▒▒▒▒▒▒▒▒▒▀▄•.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯
#define pb push_back //▀█▒▒█▌▒▒█▒▒▐█▒▒▀▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▌•.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯
#define ub upper_bound //▀▌▒▒▒▒▒▀▒▀▒▒▒▒▒▀▀▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ ▄▄•.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯
#define lb lower_bound //▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▄█▒█•.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯
#define np next_permutation//▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▀•.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯
#define us unordered_set //──▐▄▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▄▌•.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯
#define cont continue //────▀▄▄▀▀▀▀▄▄▀▀▀▀▀▀▄▄▀▀▀▀▀▀▄▄▀•.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯ •.,¸,.•*`•.,¸¸,.•*¯
#define IOS ios_base::sync_with_stdio(0),cin.tie(0)
#define INF INFINITY
#define ull unsigned long long
#define maxel(begin, end) *std::max_element(begin, end)
#define minel(begin, end) *std::min_element(begin, end)
using namespace std;
//*What if she's fine? *//
//*It's my mind that's wrong*//
//*And I just let bad thoughts*//
//*Linger for far too long*//
//* Steve Lacy *//
ll MAXN = 1e5;
vector<ll> t(4*MAXN,0);
ll const mod1 = 12345;
ll const mod2 = 23456;
vector<ll> a(4*MAXN,0);
void upd(ll v, ll tl, ll tr, ll p, ll x){
if (tl==tr){
t[v] = x;
a[p] = x;
return;
}
ll tm = (tl+tr)/2;
if(p <= tm)
upd(v*2, tl, tm, p,x);
else
upd(2*v+1, tm+1, tr, p, x);
t[v] = t[v*2]+t[v*2+1];
}
ll get(ll v, ll tl, ll tr, ll l, ll r){
if(l >r || tr < l || r < tl)
return 0;
if(l <= tl && tr <= r)
return t[v];
ll tm = (tl+tr)/2;
return get(v * 2, tl, tm, l, r) + get(v * 2 + 1, tm + 1, tr, l, r);
}
int main() {
//ifstream cin("sum.in");
//ofstream cout("sum.out");
for(ll n = 1; n < MAXN; n++){
a[n] = (n%mod1*n%mod1)%mod1+(n%mod2*n%mod2*n%mod2)%mod2;
upd(1,1,MAXN,n,a[n]);
}
ll k;
cin >> k;
while(k--){
ll x,y;
cin >> x >> y;
if(x < 0){
x = abs(x);
upd(1, 1 , MAXN, x, y);
}
else{
y++;
cout << maxel(a.begin()+x, a.begin()+y) - minel(a.begin()+x, a.begin()+y) << endl;
}
}
//cout<< a[8] << ' ' << a[9];// /* maxel(a.begin()+2, a.begin()+3);*/ minel(a.begin()+2, a.begin()+4);
/*
for(int i = 0; i < n; i++){
cout << t[i] << ' ';
}*/
}
/*int main() {
IOS;
int t =1;
while(t--)
solve();
return 0;
}*/
/* Eratosphen's sieve formule
bool was[MAXN+10];
for(int i = 2; i*i <= MAXN; i++){
if(!was[i]){
for(int j = i*i; j <= MAXN; j+=i+i)
was[j]=true;
}
}
*/
Editor is loading...
Leave a Comment