109602024-04-20 19:18:44k_balintMetróutasokcpp17Accepted 100/10063ms8520 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int c=2e5+5;

int n;
ll arr[c];
ll suf[c];

bool check(ll k){
    ll cur=0;
    for(int i=1;i<=n;i++){
        ll le=(cur+arr[i]-k+1)/2;
        if(le>min(arr[i],cur)) return 0;
        cur=cur+arr[i]-2*max(0ll,le);
    }
    return 1;
}

bool jo(ll k){
    bool res = check(k);
    reverse(arr+1,arr+n+1);
    res &= check(k);
    reverse(arr+1,arr+n+1);
    return res;
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>arr[i];
    }

    ll l=0,r=1e15;
    while(l<r-1){
        ll mid=l+r>>1;
        if(jo(mid)) r=mid;
        else l=mid;
    }
    cout << r << endl;

    for(int i=n;i>0;i--) suf[i]=suf[i+1]+arr[i];

    ll sum=0;
    ll maxi=0;
    for(int i=1;i<=n;i++){
        if(suf[i+1]>=sum+arr[i]){
            sum+=arr[i];
            maxi=sum;
        }
        else{
            maxi=max(suf[i+1],maxi);
            break;
        }
    }
    cout << maxi << endl;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted3ms2180 KiB
2Accepted59ms5448 KiB
subtask212/12
3Accepted3ms2480 KiB
4Accepted3ms2436 KiB
5Accepted3ms2692 KiB
6Accepted3ms2904 KiB
7Accepted3ms2984 KiB
8Accepted3ms3120 KiB
9Accepted3ms3332 KiB
10Accepted3ms3408 KiB
11Accepted3ms3376 KiB
12Accepted3ms3452 KiB
13Accepted3ms3592 KiB
14Accepted3ms3596 KiB
15Accepted3ms3820 KiB
16Accepted3ms4020 KiB
subtask312/12
17Accepted3ms2480 KiB
18Accepted3ms2436 KiB
19Accepted3ms2692 KiB
20Accepted3ms2904 KiB
21Accepted3ms2984 KiB
22Accepted3ms3120 KiB
23Accepted3ms3332 KiB
24Accepted3ms3408 KiB
25Accepted3ms3376 KiB
26Accepted3ms3452 KiB
27Accepted3ms3956 KiB
28Accepted3ms3928 KiB
29Accepted3ms3808 KiB
30Accepted3ms3804 KiB
31Accepted3ms4016 KiB
32Accepted3ms4212 KiB
33Accepted3ms4292 KiB
34Accepted3ms4296 KiB
35Accepted3ms4220 KiB
36Accepted3ms4140 KiB
37Accepted3ms3592 KiB
38Accepted3ms3596 KiB
39Accepted3ms4228 KiB
40Accepted3ms4136 KiB
41Accepted3ms4228 KiB
42Accepted3ms4144 KiB
43Accepted3ms3820 KiB
44Accepted3ms4020 KiB
45Accepted3ms4140 KiB
46Accepted3ms4136 KiB
47Accepted3ms4464 KiB
48Accepted3ms4560 KiB
49Accepted3ms4652 KiB
subtask416/16
50Accepted3ms2480 KiB
51Accepted3ms2436 KiB
52Accepted3ms2692 KiB
53Accepted3ms2904 KiB
54Accepted3ms2984 KiB
55Accepted3ms3120 KiB
56Accepted3ms3332 KiB
57Accepted3ms3408 KiB
58Accepted3ms3376 KiB
59Accepted3ms3452 KiB
60Accepted3ms3956 KiB
61Accepted3ms3928 KiB
62Accepted3ms3808 KiB
63Accepted3ms3804 KiB
64Accepted3ms4016 KiB
65Accepted3ms4212 KiB
66Accepted3ms4292 KiB
67Accepted3ms4296 KiB
68Accepted3ms4220 KiB
69Accepted3ms4140 KiB
70Accepted3ms4888 KiB
71Accepted3ms4980 KiB
72Accepted3ms4936 KiB
73Accepted3ms4988 KiB
74Accepted3ms4992 KiB
75Accepted3ms4940 KiB
76Accepted3ms4948 KiB
77Accepted3ms5016 KiB
78Accepted3ms5272 KiB
79Accepted3ms5152 KiB
80Accepted3ms3592 KiB
81Accepted3ms3596 KiB
82Accepted3ms4228 KiB
83Accepted3ms4136 KiB
84Accepted3ms4228 KiB
85Accepted3ms4144 KiB
86Accepted3ms3820 KiB
87Accepted3ms4020 KiB
88Accepted3ms4140 KiB
89Accepted3ms4136 KiB
90Accepted3ms4464 KiB
91Accepted3ms4560 KiB
92Accepted3ms4652 KiB
subtask560/60
93Accepted3ms2480 KiB
94Accepted59ms8412 KiB
95Accepted3ms2436 KiB
96Accepted3ms2692 KiB
97Accepted3ms2904 KiB
98Accepted3ms2984 KiB
99Accepted3ms3120 KiB
100Accepted3ms3332 KiB
101Accepted3ms3408 KiB
102Accepted3ms3376 KiB
103Accepted3ms3452 KiB
104Accepted3ms3956 KiB
105Accepted3ms3928 KiB
106Accepted3ms3808 KiB
107Accepted3ms3804 KiB
108Accepted3ms4016 KiB
109Accepted3ms4212 KiB
110Accepted3ms4292 KiB
111Accepted3ms4296 KiB
112Accepted3ms4220 KiB
113Accepted3ms4140 KiB
114Accepted3ms4888 KiB
115Accepted3ms4980 KiB
116Accepted3ms4936 KiB
117Accepted3ms4988 KiB
118Accepted3ms4992 KiB
119Accepted3ms4940 KiB
120Accepted3ms4948 KiB
121Accepted3ms5016 KiB
122Accepted3ms5272 KiB
123Accepted3ms5152 KiB
124Accepted59ms8368 KiB
125Accepted59ms8520 KiB
126Accepted61ms8488 KiB
127Accepted57ms8368 KiB
128Accepted63ms8372 KiB
129Accepted61ms8416 KiB
130Accepted59ms8452 KiB
131Accepted57ms8456 KiB
132Accepted59ms8460 KiB
133Accepted3ms3592 KiB
134Accepted3ms3596 KiB
135Accepted3ms4228 KiB
136Accepted3ms4136 KiB
137Accepted3ms4228 KiB
138Accepted3ms4144 KiB
139Accepted3ms3820 KiB
140Accepted3ms4020 KiB
141Accepted3ms4140 KiB
142Accepted3ms4136 KiB
143Accepted3ms4464 KiB
144Accepted52ms8148 KiB
145Accepted46ms7864 KiB
146Accepted54ms8304 KiB
147Accepted32ms7040 KiB
148Accepted54ms8260 KiB
149Accepted50ms8208 KiB
150Accepted3ms4560 KiB
151Accepted3ms4652 KiB
152Accepted50ms8096 KiB