Submission #286650

#TimeUsernameProblemLanguageResultExecution timeMemory
286650FEDIKUSFoehn Phenomena (JOI17_foehn_phenomena)C++17
30 / 100
1060 ms3932 KiB
#include <bits/stdc++.h> #define mp make_pair #define pb push_back #define pf push_front #define popb pop_back #define popf pop_front #define xx first #define yy second #define srt(a) sort(a.begin(),a.end()); #define srtg(a,ll) sort(a.begin(),a.end(),greater<ll>()) #define lb(a,x) lower_bound(a.begin(),a.end(),x) #define up(a,x) upper_bound(a.begin(),a.end(),x) #define fnd(a,x) find(a.begin(),a.end(),x) #define vstart auto startt=chrono::system_clock::now() #define vend auto endd=chrono::system_clock::now() #define vvreme chrono::duration<double> vremee=endd-startt #define ios ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0) using namespace std; typedef long long ll; typedef pair<ll,ll> pii; typedef pair<ll,ll> pll; typedef string str; ll n,q,s,t; vector<ll> visine; void update(ll l,ll r,ll x){ for(ll i=l;i<=r;i++){ visine[i]+=x; } } ll query(ll a){ return visine[a]; } ll raz(ll a){ ll prvi=query(a); ll drugi=(a+1==visine.size() ? query(a):query(a+1)); if(prvi>drugi){ return (prvi-drugi)*t; }else return -(drugi-prvi)*s; } int main() { ios; cin>>n>>q>>s>>t; visine.resize(n+1); for(ll i=0;i<=n;i++) cin>>visine[i]; vector<ll> temp(n+1); temp[0]=0; for(ll i=1;i<=n;i++){ if(visine[i]>visine[i-1]){ temp[i]=temp[i-1]-(visine[i]-visine[i-1])*s; }else{ temp[i]=temp[i-1]+(visine[i-1]-visine[i])*t; } } ll res=temp[n]; while(q--){ ll l,r,x; cin>>l>>r>>x; res-=raz(l-1); res-=raz(r); update(l,r,x); res+=raz(l-1); res+=raz(r); cout<<res<<"\n"; } return 0; }

Compilation message (stderr)

foehn_phenomena.cpp: In function 'll raz(ll)':
foehn_phenomena.cpp:41:18: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |     ll drugi=(a+1==visine.size() ? query(a):query(a+1));
      |               ~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...