###### tags: `APCS` `zerojudge` `題解`
# 題解 zerojudge g277:apcs 3. 幸運數字
## set/map/iterator
```cpp=
#include<bits/stdc++.h>
using namespace std;
#define N 300005
long long sum[N]={0};
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
set<int>s;
map<int,int>a;
int n;cin>>n;
for(int i=1,k;i<=n;i++){
cin>>k;
s.insert(k);
a[k]=i;
sum[i]=k+sum[i-1];
}
int l=1,r=n;
auto it=s.begin();
while(true){
if(l==r)break;
int idxm=a[*it];
while(idxm<l or idxm>r){
it++;
idxm=a[*it];
}
if(sum[idxm-1]-sum[l-1]>sum[r]-sum[idxm]){
r=idxm-1;
}
else{
l=idxm+1;
}
}
cout<<sum[l]-sum[l-1];
}
```