Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- using lli = long long;
- const lli N = 1e5 + 10;
- lli qs[N];
- int main(){
- int n;
- lli mod;
- scanf("%d %lld", &n, &mod);
- for(int i=1;i<=n;i++){
- scanf("%lld", &qs[i]);
- qs[i] = (qs[i - 1] + qs[i]) % mod;
- }
- set <lli> st;
- lli mx = 0;
- for(int i=1;i<=n;i++){
- mx = max(mx, qs[i]);
- auto it = st.upper_bound(qs[i]);
- if(it != st.end())
- mx = max(mx, (qs[i] - *it + mod) % mod);
- st.insert({qs[i]});
- }
- cout << mx;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement