Submission #1171123

#TimeUsernameProblemLanguageResultExecution timeMemory
1171123niepamietamhaslaBitaro, who Leaps through Time (JOI19_timeleap)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN = 1e3 + 5; ll A[MAXN]; ll B[MAXN]; void odpowiedz(ll a, ll b, ll c, ll d){ if(a == c){ if(b < d) cout << 0 << "\n"; else cout << d - b << "\n"; return; } if(a < c){ ll w = 0; ll currt = b; for(int i = a; i < c; ++i){ if(A[i] <= currt and currt < B[i]){ currt++; } else if(A[i] > currt){ currt = A[i] + 1; } else{ w += currt - (B[i] - 1); currt = B[i]; } } if(currt > d){ w += currt - d; } cout << w << "\n"; return; } else{ ll w = 0; ll currt = b; for(int i = a; i > c; --i){ if(A[i-1] <= currt and currt < B[i-1]){ currt++; } else if(A[i-1] > currt){ currt = A[i-1] + 1; } else{ w += currt - (B[i-1] - 1); currt = B[i-1]; } //cout << i << " " << w << " w\n"; } if(currt > d){ w += currt - d; } cout << w << "\n"; return; } return; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll n, q; cin >> n >> q; for(int i = 1; i < n; ++i){ cin >> A[i] >> B[i]; } ll a, b, c, d, e; for(int i = 0; i < q; ++i){ cin >> a >> b >> c >> d; if(a == 1){ A[b] = c; B[b] = d; } else{ cin >> e; odpowiedz(b, c, d, e); } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...