Submission #2166259


Source Code Expand

// #include {{{
#include <iostream>
#include <cassert>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cctype>
#include <cmath>
#include <ctime>
#include <queue>
#include <set>
#include <map>
#include <stack>
#include <string>
#include <bitset>
#include <vector>
#include <complex>
#include <algorithm>
using namespace std;
// }}}
// #define {{{
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef vector<int> vi;
#define de(x) cout << #x << "=" << x << endl
#define rep(i,a,b) for(int i=a;i<(b);++i)
#define per(i,a,b) for(int i=(b)-1;i>=(a);--i)
#define all(x) (x).begin(),(x).end()
#define sz(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define fi first
#define se second
// }}}

const int N = 20002;
int n;
ll a[N];

int main(){
  cin >> n;
  rep(i,0,n) cin >> a[i];
  ll s = 0;
  rep(i,0,n) s += a[i];
  int ans = 0;
  for(ll base=1;s/base>=1;base*=10) {
    per(i,1,10) {
      vector<pair<ll,ll> > segs;
      segs.pb(mp(base*i,base*(i+1)-1));
      ll range = base * 10;
      bool zero = false;
      rep(i,0,n) {
        auto nsegs = segs;
        ll t = a[i] % range;
        for(auto e : segs) {
          ll l = e.fi , r = e.se;
          l -= t;
          r -= t;
          if(l < 0) l += range;
          if(r < 0) r += range;
          if(l <= r) nsegs.pb(mp(l , r));
          else {
            nsegs.pb(mp(0 , r));
            nsegs.pb(mp(l , range - 1));
          }
        }
        sort(all(nsegs));
        segs.clear();
        pair<ll,ll> pre = nsegs[0];
        rep(i,1,sz(nsegs)) {
          if(nsegs[i].fi <= pre.se)
            pre.se = max(pre.se , nsegs[i].se);
          else
            segs.pb(pre) , pre = nsegs[i];
        }
        segs.pb(pre);
        for(auto e : segs) zero |= e.fi == 0;
        if(zero) break;
      }
      if(zero) {
        ans += i;
        break;
      }
    }
  }
  cout << ans << endl;
  return 0;
}

Submission Info

Submission Time
Task B - Exact Payment
User Y_UME
Language C++14 (GCC 5.4.1)
Score 1500
Code Size 2015 Byte
Status AC
Exec Time 229 ms
Memory 512 KB

Judge Result

Set Name sample All
Score / Max Score 0 / 0 1500 / 1500
Status
AC × 2
AC × 102
Set Name Test Cases
sample sample-01.txt, sample-02.txt
All sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt, 01-44.txt, 01-45.txt, 01-46.txt, 01-47.txt, 01-48.txt, 01-49.txt, 01-50.txt, 01-51.txt, 01-52.txt, 01-53.txt, 01-54.txt, 01-55.txt, 01-56.txt, 01-57.txt, 01-58.txt, 01-59.txt, 01-60.txt, 01-61.txt, 01-62.txt, 01-63.txt, 01-64.txt, 01-65.txt, 01-66.txt, 01-67.txt, 01-68.txt, 01-69.txt, 01-70.txt, 01-71.txt, 01-72.txt, 01-73.txt, 01-74.txt, 01-75.txt, 01-76.txt, 01-77.txt, 01-78.txt, 01-79.txt, 01-80.txt, 01-81.txt, 01-82.txt, 01-83.txt, 01-84.txt, 01-85.txt, 01-86.txt, 01-87.txt, 01-88.txt, 01-89.txt, 01-90.txt, 01-91.txt, 01-92.txt, 01-93.txt, 01-94.txt, 01-95.txt, 01-96.txt, 01-97.txt, 01-98.txt, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
01-01.txt AC 1 ms 256 KB
01-02.txt AC 1 ms 256 KB
01-03.txt AC 1 ms 256 KB
01-04.txt AC 1 ms 256 KB
01-05.txt AC 1 ms 256 KB
01-06.txt AC 13 ms 384 KB
01-07.txt AC 34 ms 384 KB
01-08.txt AC 39 ms 384 KB
01-09.txt AC 30 ms 384 KB
01-10.txt AC 101 ms 384 KB
01-11.txt AC 89 ms 384 KB
01-12.txt AC 17 ms 384 KB
01-13.txt AC 34 ms 384 KB
01-14.txt AC 29 ms 384 KB
01-15.txt AC 17 ms 384 KB
01-16.txt AC 47 ms 384 KB
01-17.txt AC 19 ms 384 KB
01-18.txt AC 19 ms 384 KB
01-19.txt AC 21 ms 384 KB
01-20.txt AC 37 ms 384 KB
01-21.txt AC 35 ms 384 KB
01-22.txt AC 35 ms 384 KB
01-23.txt AC 19 ms 384 KB
01-24.txt AC 40 ms 384 KB
01-25.txt AC 40 ms 384 KB
01-26.txt AC 35 ms 384 KB
01-27.txt AC 16 ms 512 KB
01-28.txt AC 30 ms 384 KB
01-29.txt AC 40 ms 384 KB
01-30.txt AC 35 ms 384 KB
01-31.txt AC 35 ms 384 KB
01-32.txt AC 24 ms 384 KB
01-33.txt AC 24 ms 512 KB
01-34.txt AC 35 ms 384 KB
01-35.txt AC 33 ms 384 KB
01-36.txt AC 24 ms 384 KB
01-37.txt AC 14 ms 384 KB
01-38.txt AC 35 ms 384 KB
01-39.txt AC 35 ms 384 KB
01-40.txt AC 19 ms 384 KB
01-41.txt AC 19 ms 384 KB
01-42.txt AC 35 ms 384 KB
01-43.txt AC 35 ms 384 KB
01-44.txt AC 13 ms 384 KB
01-45.txt AC 31 ms 384 KB
01-46.txt AC 29 ms 384 KB
01-47.txt AC 13 ms 384 KB
01-48.txt AC 29 ms 384 KB
01-49.txt AC 13 ms 384 KB
01-50.txt AC 29 ms 384 KB
01-51.txt AC 28 ms 384 KB
01-52.txt AC 29 ms 384 KB
01-53.txt AC 29 ms 384 KB
01-54.txt AC 29 ms 384 KB
01-55.txt AC 29 ms 384 KB
01-56.txt AC 29 ms 384 KB
01-57.txt AC 29 ms 384 KB
01-58.txt AC 29 ms 384 KB
01-59.txt AC 29 ms 384 KB
01-60.txt AC 29 ms 384 KB
01-61.txt AC 29 ms 384 KB
01-62.txt AC 29 ms 384 KB
01-63.txt AC 29 ms 384 KB
01-64.txt AC 29 ms 384 KB
01-65.txt AC 29 ms 384 KB
01-66.txt AC 229 ms 384 KB
01-67.txt AC 55 ms 384 KB
01-68.txt AC 52 ms 384 KB
01-69.txt AC 52 ms 384 KB
01-70.txt AC 31 ms 384 KB
01-71.txt AC 117 ms 384 KB
01-72.txt AC 125 ms 384 KB
01-73.txt AC 142 ms 384 KB
01-74.txt AC 163 ms 384 KB
01-75.txt AC 157 ms 384 KB
01-76.txt AC 192 ms 384 KB
01-77.txt AC 33 ms 384 KB
01-78.txt AC 135 ms 384 KB
01-79.txt AC 119 ms 384 KB
01-80.txt AC 128 ms 384 KB
01-81.txt AC 122 ms 384 KB
01-82.txt AC 105 ms 384 KB
01-83.txt AC 147 ms 384 KB
01-84.txt AC 152 ms 384 KB
01-85.txt AC 141 ms 384 KB
01-86.txt AC 129 ms 384 KB
01-87.txt AC 137 ms 384 KB
01-88.txt AC 151 ms 384 KB
01-89.txt AC 139 ms 384 KB
01-90.txt AC 21 ms 384 KB
01-91.txt AC 93 ms 384 KB
01-92.txt AC 119 ms 384 KB
01-93.txt AC 111 ms 384 KB
01-94.txt AC 121 ms 384 KB
01-95.txt AC 125 ms 384 KB
01-96.txt AC 20 ms 384 KB
01-97.txt AC 94 ms 384 KB
01-98.txt AC 103 ms 384 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB