update
This commit is contained in:
parent
1de78a12e0
commit
2f6eb0bc61
47
src/P9127/P9127.cpp
Normal file
47
src/P9127/P9127.cpp
Normal file
@ -0,0 +1,47 @@
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
|
||||
using ll = long long;
|
||||
|
||||
const ll max_n = 500+5;
|
||||
ll n, arr[max_n], pre[max_n];
|
||||
|
||||
struct Sec{
|
||||
ll start,end,sum;
|
||||
bool is_have(const ll &n)const noexcept{
|
||||
return start<=n && n<=end;
|
||||
}
|
||||
}secs[max_n*max_n];
|
||||
ll secs_size{1};
|
||||
|
||||
const ll buf_size {1024*1024*1024};
|
||||
char buf[buf_size];
|
||||
|
||||
int main(){
|
||||
std::cin.rdbuf()->pubsetbuf(buf, buf_size);
|
||||
std::cin>>n;
|
||||
for(ll i{1};i<=n;i++){
|
||||
std::cin>>arr[i];
|
||||
pre[i]=pre[i-1]+arr[i];
|
||||
}
|
||||
for(ll i{1};i<=n;i++){
|
||||
for(ll j{i};j<=n;j++){
|
||||
secs[secs_size++] = {i,j,pre[j]-pre[i-1]};
|
||||
}
|
||||
}
|
||||
std::sort(secs+1,secs+secs_size,[](const Sec &a,const Sec &b)->bool{
|
||||
return a.sum<b.sum;
|
||||
});
|
||||
for(ll i{1};i<=n;i++){
|
||||
ll min{std::numeric_limits<ll>::max()};
|
||||
for(ll j{2};j<=secs_size;j++){
|
||||
if(secs[j-1].is_have(i) != secs[j].is_have(i)){
|
||||
min = std::min(min,std::abs(secs[j].sum-secs[j-1].sum));
|
||||
}
|
||||
}
|
||||
std::cout<<min<<'\n';
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user