QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#135854#6627. Line TownPCTprobability#7 983ms81748kbC++1411.2kb2023-08-06 09:36:342024-07-04 01:19:00

Judging History

你现在查看的是最新测评结果

  • [2024-07-04 01:19:00]
  • 评测
  • 测评结果:7
  • 用时:983ms
  • 内存:81748kb
  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-06 09:36:34]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#if __has_include(<atcoder/all>)
#include <atcoder/all>
using namespace atcoder;
#endif
using ll = long long;
using ld = long double;
using ull = unsigned long long;
#define endl "\n"
typedef pair<int, int> Pii;
#define REP(i, n) for (int i = 0; i < (n); ++i)
#define REP3(i, m, n) for (int i = (m); (i) < int(n); ++ (i))
#define rep(i,a,b) for(int i=(int)(a);i<(int)(b);i++)
#define ALL(x) begin(x), end(x)
#define rrep(i,a,b) for(int i=a;i>=b;i--)
#define fore(i,a) for(auto &i:a)
#define all(s) (s).begin(),(s).end()
#define drep2(i, m, n) for (int i = (m)-1; i >= (n); --i)
#define drep(i, n) drep2(i, n, 0)
#define rever(vec) reverse(vec.begin(), vec.end())
#define sor(vec) sort(vec.begin(), vec.end())
#define fi first
#define FOR_(n) for (ll _ = 0; (_) < (ll)(n); ++(_))
#define FOR(i, n) for (ll i = 0; (i) < (ll)(n); ++(i))
#define se second
#define pb push_back
#define P pair<ll,ll>
#define PQminll priority_queue<ll, vector<ll>, greater<ll>>
#define PQmaxll priority_queue<ll,vector<ll>,less<ll>>
#define PQminP priority_queue<P, vector<P>, greater<P>>
#define PQmaxP priority_queue<P,vector<P>,less<P>>
#define NP next_permutation
//const ll mod = 1000000009;
//const ll mod = 998244353;
const ll mod = 1000000007;
const ll inf = 4100000000000000000ll;
const ld eps = ld(0.00000000001);
static const long double pi = 3.141592653589793;
template<class T>void vcin(vector<T> &n){for(int i=0;i<int(n.size());i++) cin>>n[i];}
template<class T,class K>void vcin(vector<T> &n,vector<K> &m){for(int i=0;i<int(n.size());i++) cin>>n[i]>>m[i];}
template<class T>void vcout(vector<T> &n){for(int i=0;i<int(n.size());i++){cout<<n[i]<<" ";}cout<<endl;}
template<class T>void vcin(vector<vector<T>> &n){for(int i=0;i<int(n.size());i++){for(int j=0;j<int(n[i].size());j++){cin>>n[i][j];}}}
template<class T>void vcout(vector<vector<T>> &n){for(int i=0;i<int(n.size());i++){for(int j=0;j<int(n[i].size());j++){cout<<n[i][j]<<" ";}cout<<endl;}cout<<endl;}
void yes(bool a){cout<<(a?"yes":"no")<<endl;}
void YES(bool a){cout<<(a?"YES":"NO")<<endl;}
void Yes(bool a){cout<<(a?"Yes":"No")<<endl;}
void possible(bool a){ cout<<(a?"possible":"impossible")<<endl; }
void Possible(bool a){ cout<<(a?"Possible":"Impossible")<<endl; }
void POSSIBLE(bool a){ cout<<(a?"POSSIBLE":"IMPOSSIBLE")<<endl; }
#define FOR_R(i, n) for (ll i = (ll)(n)-1; (i) >= 0; --(i))
template<class T>auto min(const T& a){ return *min_element(all(a)); }
template<class T>auto max(const T& a){ return *max_element(all(a)); }
template<class T,class F>void print(pair<T,F> a){cout<<a.fi<<" "<<a.se<<endl;}
template<class T>bool chmax(T &a,const T b) { if (a<b) { a=b; return 1; } return 0;}
template<class T>bool chmin(T &a,const T b) { if (b<a) { a=b; return 1; } return 0;}
template<class T> void ifmin(T t,T u){if(t>u){cout<<-1<<endl;}else{cout<<t<<endl;}}
template<class T> void ifmax(T t,T u){if(t>u){cout<<-1<<endl;}else{cout<<t<<endl;}}
ll fastgcd(ll u,ll v){ll shl=0;while(u&&v&&u!=v){bool eu=!(u&1);bool ev=!(v&1);if(eu&&ev){++shl;u>>=1;v>>=1;}else if(eu&&!ev){u>>=1;}else if(!eu&&ev){v>>=1;}else if(u>=v){u=(u-v)>>1;}else{ll tmp=u;u=(v-u)>>1;v=tmp;}}return !u?v<<shl:u<<shl;}
ll modPow(ll a, ll n, ll mod) { if(mod==1) return 0;ll ret = 1; ll p = a % mod; while (n) { if (n & 1) ret = ret * p % mod; p = p * p % mod; n >>= 1; } return ret; }
vector<ll> divisor(ll x){ vector<ll> ans; for(ll i = 1; i * i <= x; i++){ if(x % i == 0) {ans.push_back(i); if(i*i!=x){ ans.push_back(x / ans[i]);}}}sor(ans); return ans; }
ll pop(ll x){return __builtin_popcountll(x);}
ll poplong(ll x){ll y=-1;while(x){x/=2;y++;}return y;}
P hyou(P a){ll x=fastgcd(abs(a.fi),abs(a.se));a.fi/=x;a.se/=x;if(a.se<0){a.fi*=-1;a.se*=-1;}return a;}
P Pplus(P a,P b){ return hyou({a.fi*b.se+b.fi*a.se,a.se*b.se});}
P Ptimes(P a,ll b){ return hyou({a.fi*b,a.se});}
P Ptimes(P a,P b){ return hyou({a.fi*b.fi,a.se*b.se});}
P Pminus(P a,P b){ return hyou({a.fi*b.se-b.fi*a.se,a.se*b.se});}
P Pgyaku(P a){ return hyou({a.se,a.fi});}
 
void cincout(){
  ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
  cout<< fixed << setprecision(15);
}
struct Segtree{
  vector<ll> node;
  ll n;
  Segtree(ll N){
    n=1;
    while(n<N) n*=2;
    node.resize(2*n);
  }
  void set(int i,int x){
    i+=n;
    while(i){
      node[i]+=x;
      i/=2;
    }
  }
  ll prod(ll l,ll r,ll a,ll b,ll k){
    if(r<=a||b<=l) return 0;
    if(l<=a&&b<=r) return node[k];
    return prod(l,r,a,(a+b)/2,2*k)+prod(l,r,(a+b)/2,b,2*k+1);
  }
  ll prod(ll l,ll r){
    return prod(l,r,0,n,1);
  }
};
vector<ll> solve(vector<ll> a){
  ll n=a.size();
  vector<ll> dp;
  dp.pb(0);
  vector<ll> v;
  ll sum=0;
  set<ll> x,y;
  for(int i=0;i<n;i++){
    if(a[i]==1){
      if(i%2==0) x.insert(i);
      else y.insert(i);
    }
    while(x.size()&&y.size()){
      auto itr=x.begin();
      auto itr2=y.begin();
      sum+=abs((*itr)-(*itr2));
      x.erase(itr);
      y.erase(itr2);
    }
    if(x.size()+y.size()==0) dp.pb(sum);
    else dp.pb(inf);
  }
  return dp;
}
ll rev(vector<ll> a){
  ll ans=0;
  ll n=a.size();
  Segtree seg(n);
  for(int i=0;i<n;i++) seg.set(i,1);
  for(int i=0;i<n;i++){
    seg.set(a[i],-1);
    ans+=seg.prod(0,a[i]);
  }
  return ans;
}
ll dp[501010][2][2];
int main(){
  cincout();
  ll n;
  cin>>n;
  vector<ll> a(n);
  vcin(a);
  bool ZERO=true;
  for(int i=0;i<n;i++){
    if(abs(a[i])>=2) ZERO=false;
  }
  bool ONE=true;
  for(int i=0;i<n;i++){
    if(abs(a[i])!=1){
      ONE=false;
    }
  }
  if(ZERO){
    ll ans=inf;
    ll cnt=0;
    for(int i=0;i<n;i++) if(a[i]==0) cnt++;
    vector<ll> od,ev,z;
    for(int j=0;j<n;j++){
      if(a[j]==0){
        z.pb(j);
        continue;
      }
      if((a[j]>0)^(j%2==0)){
        od.pb(j);
      }
      else{
        ev.pb(j);
      }
    }
    if(z.size()%2==1){
      vector<ll> p;
      int x=0,y=0;
      bool ok=true;
      for(int i=0;i<od.size()+ev.size();i++){
        if(i%2==0){
          if(od.size()==x){
            ok=false;
            break;
          }
          p.pb(od[x]);
          x++;
        }
        else{
          if(ev.size()==y){
            ok=false;
            break;
          }
          p.pb(ev[y]);
          y++;
        }
      }
      if(ok){
        for(auto e:z) p.pb(e);
        Segtree seg(n);
        for(auto e:z) seg.set(e,1);
        ll sum=rev(p);
        for(int i=0;i<z.size();i++) p.pop_back();
        chmin(ans,sum);
        for(int i=p.size()-1;i>=0;i--){
          ll V=seg.prod(0,p[i]);
          sum-=V;
          sum+=int(z.size())-V;
          chmin(ans,sum);
        }
      }
    }
    else{
      vector<ll> p;
      int x=0,y=0;
      bool ok=true;
      ll C=0;
      if(od.size()==ev.size()){
      for(int i=0;i<od.size()+ev.size();i++){
        if(i%2==0){
          if(od.size()==x){
            ok=false;
            break;
          }
          p.pb(od[x]);
          x++;
        }
        else{
          if(ev.size()==y){
            ok=false;
            break;
          }
          p.pb(ev[y]);
          y++;
        }
      }
        for(auto e:z) p.pb(e);
      }
      else if(od.size()==ev.size()+2){
        C=1;
        for(int i=0;i<od.size()+ev.size()-1;i++){
        if(i%2==0){
          if(od.size()==x){
            ok=false;
            break;
          }
          p.pb(od[x]);
          x++;
        }
        else{
          if(ev.size()==y){
            ok=false;
            break;
          }
          p.pb(ev[y]);
          y++;
        }
      }
        for(auto e:z) p.pb(e);
        p.pb(od.back());
      }
      else if(od.size()==ev.size()+1){
         for(int i=0;i<od.size()+ev.size()-1;i++){
        if(i%2==0){
          if(od.size()==x){
            ok=false;
            break;
          }
          p.pb(od[x]);
          x++;
        }
        else{
          if(ev.size()==y){
            ok=false;
            break;
          }
          p.pb(ev[y]);
          y++;
        }
      }
        for(auto e:z) p.pb(e);
      }
      else if(od.size()+1==ev.size()){
        C=1;
        for(int i=0;i<od.size()+ev.size()-1;i++){
        if(i%2==0){
          if(od.size()==x){
            ok=false;
            break;
          }
          p.pb(od[x]);
          x++;
        }
        else{
          if(ev.size()==y){
            ok=false;
            break;
          }
          p.pb(ev[y]);
          y++;
        }
      }
        for(auto e:z) p.pb(e);
        p.pb(ev.back());
      }
      else{
        ok=false;
      }
      if(ok){
        Segtree seg(n);
        for(auto e:z) seg.set(e,1);
        ll sum=rev(p);
        chmin(ans,sum);
        for(int i=0;i<z.size()+C;i++) p.pop_back();
       // for(auto e:p) cout<<e<<" ";
       // cout<<endl;
        for(int i=p.size()-1;i-1>=0;i-=2){
          ll V=seg.prod(0,p[i]);
          sum-=V;
          sum+=int(z.size())-V;
          V=seg.prod(0,p[i-1]);
          sum-=V;
          sum+=int(z.size())-V;
          if(p[i-1]<p[i]) sum++;
          else sum--;
          chmin(ans,sum);
        }
      }
    }
    if(ans==inf) ans=-1;
    cout<<ans<<endl;
    return 0;
  }
  if(ONE){
  vector<ll> d=solve(a);
  rever(a);
  for(auto &e:a) e*=-1;
  vector<ll> e=solve(a);
  rever(e);
  ll ans=inf;
 /* for(auto e:d) cout<<e<<" ";
  cout<<endl;
  for(auto f:e) cout<<f<<" ";
  cout<<endl; */
  for(int i=0;i<=n;i++) chmin(ans,d[i]+e[i]);
  if(ans>inf/2) ans=-1;
  cout<<ans<<endl;
    return 0;
  }
  map<int,int> M;
  M[0]++;
  for(auto e:a) M[abs(e)]++;
  int M2=0;
  for(auto &e:M){
    e.se=M2;
    M2++;
  }
  for(int i=0;i<n;i++){
    if(a[i]<0) a[i]=M[-a[i]]*-1;
    else a[i]=M[a[i]];
  }
  Segtree seg(n);
  for(int i=0;i<n;i++) seg.set(i,1);
  dp[n+3][0][0]=dp[n+3][0][1]=dp[n+3][1][0]=dp[n+3][1][1]=inf;
  dp[n+3][0][(n+1)%2]=0;
  vector<vector<int>> idx(n+3);
  for(int i=0;i<n;i++) idx[abs(a[i])].pb(i);
  for(auto e:idx) assert(1>=e.size());
  for(int i=n+2;i>=1;i--){
    //dp[i+1] -> dp[i]
    vector<int> od,ev;
    for(auto e:idx[i]){
      if((a[e]>0)^(e%2==0)){
        od.pb(e);
      }
      else{
        ev.pb(e);
      }
    }
    for(int j=0;j<2;j++){
      for(int k=0;k<2;k++) dp[i][j][k]=inf;
    }
    for(auto e:od) seg.set(e,-1);
    for(auto e:ev) seg.set(e,-1);
   /* cerr<<i<<endl;
    for(auto e:od) cerr<<e<<" ";
    cerr<<endl;
    for(auto e:ev) cerr<<e<<" ";
    cerr<<endl; */
    if(od.size()){
      for(int k=0;k<2;k++){
        chmin(dp[i][1][k],dp[i+1][0][k]+seg.prod(0,od[0]));
        chmin(dp[i][k][0],dp[i+1][k][1]+seg.prod(od[0],n));
      }
    }
    else if(ev.size()){
      for(int k=0;k<2;k++){
        chmin(dp[i][0][k],dp[i+1][1][k]+seg.prod(0,ev[0]));
        chmin(dp[i][k][1],dp[i+1][k][0]+seg.prod(ev[0],n));
      }
    }
    else{
      for(int j=0;j<2;j++){
        for(int k=0;k<2;k++){
          dp[i][j][k]=dp[i+1][j][k];
        }
      }
    }
   // cout<<i<<endl;
    for(int j=0;j<2;j++){
    //  for(int k=0;k<2;k++) cout<<dp[i][j][k]<<endl;
    }
  }
  ll ans=inf;
  for(int j=0;j<2;j++){
    for(int k=0;k<2;k++){
      chmin(ans,dp[1][j][k]);
    }
  }
  if(ans==inf) ans=-1;
  cout<<ans<<endl;
}

详细

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 3
Accepted
time: 0ms
memory: 3496kb

input:

10
1 1 1 1 1 -1 -1 -1 1 -1

output:

-1

result:

ok 1 number(s): "-1"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3544kb

input:

10
1 1 1 1 1 1 -1 1 1 -1

output:

3

result:

ok 1 number(s): "3"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3608kb

input:

1
-1

output:

0

result:

ok 1 number(s): "0"

Test #4:

score: 0
Accepted
time: 1ms
memory: 3760kb

input:

2000
1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1 -1 -1 1 1 -1 1 1 -1 -1 1 -1 -1 1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 1 1 -1 -1 -1 1 1 1 -1 1 1 -1 -1 1 -1 1 1 1 1 -1 -1 -1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 ...

output:

15146

result:

ok 1 number(s): "15146"

Test #5:

score: 0
Accepted
time: 1ms
memory: 3912kb

input:

2000
-1 -1 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1 -1 1 1 -1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 -1 -1 1 1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1 -1 1 1 1 1 -1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 -1 1 1 -1 1 1 1 -1 1 1 -1 -1 -1 ...

output:

24933

result:

ok 1 number(s): "24933"

Test #6:

score: 0
Accepted
time: 1ms
memory: 3976kb

input:

2000
1 1 -1 -1 -1 -1 1 1 -1 1 -1 1 1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1 1 -1 1 1 -1 1 1 -1 1 1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 -1 1 -1 1 1 -1 1 1 1 1 -1 1 1 1 1 -1 -1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 -1 1 1 -1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1 -1 1 -...

output:

18090

result:

ok 1 number(s): "18090"

Test #7:

score: 0
Accepted
time: 0ms
memory: 3580kb

input:

2000
-1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 1 -1 1 1 1 1 -1 -1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1 1 1 -1 1 1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 1 -1 -1 1 -1 1 1 -1 -1 -1 1 -1 -1 1 1 1 -1 1 1 -1 -1 -1 1 -1 -1 1 -1 1 1 1 -1 1 -1 -1 1 1 1...

output:

-1

result:

ok 1 number(s): "-1"

Test #8:

score: 0
Accepted
time: 1ms
memory: 3784kb

input:

2000
-1 1 -1 1 1 -1 -1 1 1 -1 1 1 -1 1 -1 -1 1 -1 1 1 1 1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 1 -1 1 -1 1 1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1 -1 1 -1 1 1 1 -1 1 1 1 1 -1 -1 -1 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1 ...

output:

9973

result:

ok 1 number(s): "9973"

Test #9:

score: 0
Accepted
time: 1ms
memory: 3688kb

input:

2000
-1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 ...

output:

499500

result:

ok 1 number(s): "499500"

Test #10:

score: 0
Accepted
time: 1ms
memory: 3692kb

input:

2000
1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 ...

output:

499500

result:

ok 1 number(s): "499500"

Test #11:

score: -3
Wrong Answer
time: 1ms
memory: 3692kb

input:

1999
1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 ...

output:

498501

result:

wrong answer 1st numbers differ - expected: '499500', found: '498501'

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Skipped

Dependency #1:

0%

Subtask #4:

score: 0
Skipped

Dependency #1:

0%

Subtask #5:

score: 4
Accepted

Test #60:

score: 4
Accepted
time: 0ms
memory: 3564kb

input:

10
3 10 5 -9 7 2 -6 1 8 0

output:

-1

result:

ok 1 number(s): "-1"

Test #61:

score: 0
Accepted
time: 0ms
memory: 3844kb

input:

10
-9 0 -1 7 5 10 6 3 2 -8

output:

13

result:

ok 1 number(s): "13"

Test #62:

score: 0
Accepted
time: 1ms
memory: 3924kb

input:

2000
40667 -598150 -1084780 1201651 1570514 -1859539 -2029075 2941581 -2945945 3038404 3447919 5293872 -5335692 -5669647 5973784 6041345 6346915 -7222112 8820986 -9153143 9563103 9749206 -9894732 -11847193 11987150 12161864 13336572 13528051 -13722732 -13836176 -15497141 -15841563 15862227 16618123 ...

output:

-1

result:

ok 1 number(s): "-1"

Test #63:

score: 0
Accepted
time: 2ms
memory: 3940kb

input:

2000
3038404 -798315545 693574695 172661079 516504064 164016456 193562146 -131746730 382134316 -398886978 188767854 -834289064 -965673210 -826409444 -281381674 450991903 -592752625 81651101 -594873306 -352059270 -651772982 540062674 -769881300 68999588 307151563 -129950325 550154987 354801227 840540...

output:

658039

result:

ok 1 number(s): "658039"

Test #64:

score: 0
Accepted
time: 2ms
memory: 3808kb

input:

2000
-1095 -925 -1049 -1519 951 -1673 -776 345 -38 -1735 -276 -1730 123 -1629 -1896 -1576 -1115 1145 15 797 -948 287 1487 1195 1269 -1240 -1571 -275 -1915 -369 -1221 -1590 -1392 -100 1688 -1287 -241 1130 -1375 -965 669 -147 -307 -795 -1207 1939 120 -305 -915 -1078 -1448 1458 -603 1935 658 774 1471 7...

output:

668545

result:

ok 1 number(s): "668545"

Test #65:

score: 0
Accepted
time: 2ms
memory: 3936kb

input:

2000
1290 1487 -1947 -255 457 -1202 1313 36 -1511 898 1739 987 1809 -1986 -1015 -1127 -703 -223 179 557 199 349 1099 -259 -1401 -1244 -1116 646 -295 1713 1512 127 -1660 343 -1921 -1326 -549 831 1963 -1743 1655 -698 1792 366 1517 -51 404 -1853 -1295 1652 -130 -1562 -1850 -582 1504 1888 822 -24 1807 9...

output:

663841

result:

ok 1 number(s): "663841"

Test #66:

score: 0
Accepted
time: 0ms
memory: 3856kb

input:

2000
56 -1667 -1636 -671 -1311 348 976 1381 -710 -477 -1301 756 -510 495 -1215 -278 1134 950 59 1739 -33 -839 -862 605 761 827 -1708 -1180 -607 1624 -120 -1198 624 -1237 -1874 1788 1005 -331 1266 -467 -1213 1736 -182 594 775 1209 -832 300 1188 -994 -191 -217 1360 -1907 71 436 1294 -590 913 -747 -629...

output:

667052

result:

ok 1 number(s): "667052"

Test #67:

score: 0
Accepted
time: 2ms
memory: 4076kb

input:

1999
-758656 -113741 -374719 7680 -227905 -201318 -200890 -84484 777096 -167712 -126972 -244117 835074 161027 923025 -224756 973701 36622 -913757 -920737 -976062 461264 147694 -162457 358437 -308202 385370 808271 -523703 -303454 -522131 -664739 -505124 306509 948216 948694 -467953 -768055 769796 486...

output:

675957

result:

ok 1 number(s): "675957"

Test #68:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

1
0

output:

0

result:

ok 1 number(s): "0"

Test #69:

score: 0
Accepted
time: 0ms
memory: 3544kb

input:

2
1000000000 999999999

output:

-1

result:

ok 1 number(s): "-1"

Test #70:

score: 0
Accepted
time: 1ms
memory: 3916kb

input:

2000
999998002 999998004 999998006 999998008 999998010 999998012 999998014 999998016 999998018 999998020 999998022 999998024 999998026 999998028 999998030 999998032 999998034 999998036 999998038 999998040 999998042 999998044 999998046 999998048 999998050 999998052 999998054 999998056 999998058 99999...

output:

999000

result:

ok 1 number(s): "999000"

Test #71:

score: 0
Accepted
time: 1ms
memory: 4152kb

input:

1999
-1000000000 -999012346 -998024692 -997037038 -996049384 -995061730 -994074076 -993086422 -992098768 -991111114 -990123460 -989135806 -988148152 -987160498 -986172844 -985185190 -984197536 -983209882 -982222228 -981234574 -980246920 -979259266 -978271612 -977283958 -976296304 -975308650 -9743209...

output:

0

result:

ok 1 number(s): "0"

Test #72:

score: 0
Accepted
time: 1ms
memory: 3948kb

input:

1999
1998 1997 1996 1995 1994 1993 1992 1991 1990 1989 1988 1987 1986 1985 1984 1983 1982 1981 1980 1979 1978 1977 1976 1975 1974 1973 1972 1971 1970 1969 1968 1967 1966 1965 1964 1963 1962 1961 1960 1959 1958 1957 1956 1955 1954 1953 1952 1951 1950 1949 1948 1947 1946 1945 1944 1943 1942 1941 1940 ...

output:

1998

result:

ok 1 number(s): "1998"

Subtask #6:

score: 3
Accepted

Dependency #5:

100%
Accepted

Test #73:

score: 3
Accepted
time: 375ms
memory: 81476kb

input:

500000
-725 2759 -4173 -4473 4578 -5071 -7897 -7991 9738 -12600 17445 -18596 -20105 -21103 22718 26116 -26973 33169 -33830 34895 37480 -41216 -41665 43933 44687 45286 -46096 46958 47293 -50534 50597 -52520 -57079 57680 58680 -62109 63682 -64495 -64608 64674 -64848 -65420 67176 -74442 -76904 -77098 -...

output:

-1

result:

ok 1 number(s): "-1"

Test #74:

score: 0
Accepted
time: 917ms
memory: 81552kb

input:

500000
716212992 819699933 394255912 695521313 788446410 -466519569 476323400 812543029 724100006 -681244028 -306686799 216473950 496416101 636791486 302599115 190055737 -908659874 -407112922 733684038 -282369420 36611820 323272468 -755065727 -735846631 -22777612 905154351 -694170466 -726666701 7098...

output:

41671567967

result:

ok 1 number(s): "41671567967"

Test #75:

score: 0
Accepted
time: 925ms
memory: 81556kb

input:

500000
-207438 355273 -248123 -19764 185461 162549 -188348 52382 490160 -462312 -44831 -465995 -499994 -43101 -250302 46616 -299265 -249140 383722 -165273 213956 256256 -77000 360942 128116 -376727 -496619 100239 -264529 148062 -435402 -1754 -58897 -473213 469221 -155309 112961 -346627 -296763 -4248...

output:

41688628365

result:

ok 1 number(s): "41688628365"

Test #76:

score: 0
Accepted
time: 936ms
memory: 81488kb

input:

500000
446009 -206999 332464 418913 406238 362645 -398832 101718 476481 97209 16149 -32080 210518 98993 151207 150280 -465090 -481536 201273 -421543 126547 307562 390250 -352233 -297858 -139422 239902 347062 209365 -202318 -124062 209464 241668 -132664 323247 -258834 401172 -466622 -482207 197967 -4...

output:

41663196994

result:

ok 1 number(s): "41663196994"

Test #77:

score: 0
Accepted
time: 983ms
memory: 81668kb

input:

500000
326709 73487 -462901 -247992 -233542 51555 -292893 -379042 397932 -114616 482840 43601 -51534 -182229 -90626 8113 -350602 -9122 -113219 439803 177 370081 -374799 62644 -438795 350357 -148565 453075 -124099 15381 73618 75602 -490979 307811 225874 -65426 -87170 -163734 -392827 436432 402025 252...

output:

41656112780

result:

ok 1 number(s): "41656112780"

Test #78:

score: 0
Accepted
time: 944ms
memory: 81476kb

input:

499999
-6051333 -9732801 3294558 -6403019 -7017102 -9707201 -6061284 -5691041 6049033 8228170 3461230 9448399 5524454 -2197488 -7940006 -1350303 493335 -5456003 1090695 -2008109 -3237925 3617186 6998401 -3574218 999525 -426659 5779982 4786849 5638317 9889583 -6084486 -9252364 -5377778 8297232 545487...

output:

41726273087

result:

ok 1 number(s): "41726273087"

Test #79:

score: 0
Accepted
time: 0ms
memory: 3828kb

input:

1
1000000000

output:

0

result:

ok 1 number(s): "0"

Test #80:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

2
0 -1000000000

output:

-1

result:

ok 1 number(s): "-1"

Test #81:

score: 0
Accepted
time: 375ms
memory: 81652kb

input:

500000
999500002 999500004 999500006 999500008 999500010 999500012 999500014 999500016 999500018 999500020 999500022 999500024 999500026 999500028 999500030 999500032 999500034 999500036 999500038 999500040 999500042 999500044 999500046 999500048 999500050 999500052 999500054 999500056 999500058 999...

output:

62499750000

result:

ok 1 number(s): "62499750000"

Test #82:

score: 0
Accepted
time: 392ms
memory: 81748kb

input:

499999
-1000000000 -999996544 -999993088 -999989632 -999986176 -999982720 -999979264 -999975808 -999972352 -999968896 -999965440 -999961984 -999958528 -999955072 -999951616 -999948160 -999944704 -999941248 -999937792 -999934336 -999930880 -999927424 -999923968 -999920512 -999917056 -999913600 -99991...

output:

0

result:

ok 1 number(s): "0"

Test #83:

score: 0
Accepted
time: 403ms
memory: 81748kb

input:

499999
499998 499997 499996 499995 499994 499993 499992 499991 499990 499989 499988 499987 499986 499985 499984 499983 499982 499981 499980 499979 499978 499977 499976 499975 499974 499973 499972 499971 499970 499969 499968 499967 499966 499965 499964 499963 499962 499961 499960 499959 499958 499957...

output:

499998

result:

ok 1 number(s): "499998"

Subtask #7:

score: 0
Skipped

Dependency #3:

0%

Subtask #8:

score: 0
Skipped

Dependency #1:

0%