Submission #68602707


Source Code Expand

//#define _GLIBCXX_DEBUG

//#pragma GCC target("avx2")
//#pragma GCC optimize("O3")
//#pragma GCC optimize("unroll-loops")

#include<bits/stdc++.h>
using namespace std;


#ifdef LOCAL
#include <debug_print.hpp>
#define OUT(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__)
#else
#define OUT(...) (static_cast<void>(0))
#endif

#define endl '\n'
#define lfs cout<<fixed<<setprecision(15)
#define ALL(a)  (a).begin(),(a).end()
#define ALLR(a)  (a).rbegin(),(a).rend()
#define UNIQUE(a) (a).erase(unique((a).begin(),(a).end()),(a).end())
#define spa << " " <<
#define fi first
#define se second
#define MP make_pair
#define MT make_tuple
#define PB push_back
#define EB emplace_back
#define rep(i,n,m) for(ll i = (n); i < (ll)(m); i++)
#define rrep(i,n,m) for(ll i = (ll)(m) - 1; i >= (ll)(n); i--)

namespace template_tute{
  using ll = long long;
  using ld = long double;
  const ll MOD1 = 1e9+7;
  const ll MOD9 = 998244353;
  const ll INF = 4.1e18;
  using P = pair<ll, ll>;
  template<typename T> using PQ = priority_queue<T>;
  template<typename T> using QP = priority_queue<T,vector<T>,greater<T>>;
  template<typename T1, typename T2>bool chmin(T1 &a,T2 b){if(a>b){a=b;return true;}else return false;}
  template<typename T1, typename T2>bool chmax(T1 &a,T2 b){if(a<b){a=b;return true;}else return false;}
  ll median(ll a,ll b, ll c){return a+b+c-max<ll>({a,b,c})-min<ll>({a,b,c});}
  void ans1(bool x){if(x) cout<<"Yes"<<endl;else cout<<"No"<<endl;}
  void ans2(bool x){if(x) cout<<"YES"<<endl;else cout<<"NO"<<endl;}
  void ans3(bool x){if(x) cout<<"Yay!"<<endl;else cout<<":("<<endl;}
  template<typename T1,typename T2>void ans(bool x,T1 y,T2 z){if(x)cout<<y<<endl;else cout<<z<<endl;}  
  template<typename T1,typename T2,typename T3>void anss(T1 x,T2 y,T3 z){ans(x!=y,x,z);};  
  template<typename T>void debug(const T &v,ll h,ll w,string sv=" "){for(ll i=0;i<h;i++){cout<<v[i][0];for(ll j=1;j<w;j++)cout<<sv<<v[i][j];cout<<endl;}};
  template<typename T>void debug(const T &v,ll n,string sv=" "){if(n!=0)cout<<v[0];for(ll i=1;i<n;i++)cout<<sv<<v[i];cout<<endl;};
  template<typename T>void debug(const vector<T>&v){debug(v,v.size());}
  template<typename T>void debug(const vector<vector<T>>&v){for(auto &vv:v)debug(vv,vv.size());}
  template<typename T>void debug(stack<T> st){while(!st.empty()){cout<<st.top()<<" ";st.pop();}cout<<endl;}
  template<typename T>void debug(queue<T> st){while(!st.empty()){cout<<st.front()<<" ";st.pop();}cout<<endl;}
  template<typename T>void debug(deque<T> st){while(!st.empty()){cout<<st.front()<<" ";st.pop_front();}cout<<endl;}
  template<typename T>void debug(PQ<T> st){while(!st.empty()){cout<<st.top()<<" ";st.pop();}cout<<endl;}
  template<typename T>void debug(QP<T> st){while(!st.empty()){cout<<st.top()<<" ";st.pop();}cout<<endl;}
  template<typename T>void debug(const set<T>&v){for(auto z:v)cout<<z<<" ";cout<<endl;}
  template<typename T>void debug(const multiset<T>&v){for(auto z:v)cout<<z<<" ";cout<<endl;}
  template<typename T,size_t size>void debug(const array<T, size> &a){for(auto z:a)cout<<z<<" ";cout<<endl;}
  template<typename T,typename V>void debug(const map<T,V>&v){for(auto z:v)cout<<"["<<z.first<<"]="<<z.second<<",";cout<<endl;}
  template<typename T>vector<vector<T>>vec(ll x, ll y, T w){vector<vector<T>>v(x,vector<T>(y,w));return v;}
  vector<ll>dx={1,-1,0,0,1,1,-1,-1};vector<ll>dy={0,0,1,-1,1,-1,1,-1};
  template<typename T>vector<T> make_v(size_t a,T b){return vector<T>(a,b);}
  template<typename... Ts>auto make_v(size_t a,Ts... ts){return vector<decltype(make_v(ts...))>(a,make_v(ts...));}
  template<typename T1, typename T2>ostream &operator<<(ostream &os, const pair<T1, T2>&p){return os << "(" << p.first << "," << p.second << ")";}
  template<typename T>ostream &operator<<(ostream &os, const vector<T> &v){os<<"[";for(auto &z:v)os << z << ",";os<<"]"; return os;}
  template<typename T>void rearrange(vector<int>&ord, vector<T>&v){
    auto tmp = v;
    for(int i=0;i<tmp.size();i++)v[i] = tmp[ord[i]];
  }
  template<typename Head, typename... Tail>void rearrange(vector<int>&ord,Head&& head, Tail&&... tail){
    rearrange(ord, head);
    rearrange(ord, tail...);
  }
  template<typename T> vector<int> ascend(const vector<T>&v){
    vector<int>ord(v.size());iota(ord.begin(),ord.end(),0);
    sort(ord.begin(),ord.end(),[&](int i,int j){return make_pair(v[i],i)<make_pair(v[j],j);});
    return ord;
  }
  template<typename T> vector<int> descend(const vector<T>&v){
    vector<int>ord(v.size());iota(ord.begin(),ord.end(),0);
    sort(ord.begin(),ord.end(),[&](int i,int j){return make_pair(v[i],-i)>make_pair(v[j],-j);});
    return ord;
  }
  template<typename T> vector<T> inv_perm(const vector<T>&ord){
    vector<T>inv(ord.size());
    for(int i=0;i<ord.size();i++)inv[ord[i]] = i;
    return inv;
  }
  ll FLOOR(ll n,ll div){assert(div>0);return n>=0?n/div:(n-div+1)/div;}
  ll CEIL(ll n,ll div){assert(div>0);return n>=0?(n+div-1)/div:n/div;}
  ll digitsum(ll n){ll ret=0;while(n){ret+=n%10;n/=10;}return ret;}
  ll modulo(ll n,ll d){return (n%d+d)%d;};
  template<typename T>T min(const vector<T>&v){return *min_element(v.begin(),v.end());}
  template<typename T>T max(const vector<T>&v){return *max_element(v.begin(),v.end());}
  template<typename T>T acc(const vector<T>&v){return accumulate(v.begin(),v.end(),T(0));};
  template<typename T>T reverse(const T &v){return T(v.rbegin(),v.rend());};
  //mt19937 mt(chrono::steady_clock::now().time_since_epoch().count());
  int popcount(ll x){return __builtin_popcountll(x);};
  int poplow(ll x){return __builtin_ctzll(x);};
  int pophigh(ll x){return 63 - __builtin_clzll(x);};
  template<typename T>T poll(queue<T> &q){auto ret=q.front();q.pop();return ret;};
  template<typename T>T poll(priority_queue<T> &q){auto ret=q.top();q.pop();return ret;};
  template<typename T>T poll(QP<T> &q){auto ret=q.top();q.pop();return ret;};
  template<typename T>T poll(stack<T> &s){auto ret=s.top();s.pop();return ret;};
  ll MULT(ll x,ll y){if(LLONG_MAX/x<=y)return LLONG_MAX;return x*y;}
  ll POW2(ll x, ll k){ll ret=1,mul=x;while(k){if(mul==LLONG_MAX)return LLONG_MAX;if(k&1)ret=MULT(ret,mul);mul=MULT(mul,mul);k>>=1;}return ret;}
  ll POW(ll x, ll k){ll ret=1;for(int i=0;i<k;i++){if(LLONG_MAX/x<=ret)return LLONG_MAX;ret*=x;}return ret;}
  std::ostream &operator<<(std::ostream &dest, __int128_t value) {
    std::ostream::sentry s(dest);
    if (s) {
      __uint128_t tmp = value < 0 ? -value : value;
      char buffer[128];
      char *d = std::end(buffer);
      do {
        --d;
        *d = "0123456789"[tmp % 10];
        tmp /= 10;
      } while (tmp != 0);
      if (value < 0) {
        --d;
        *d = '-';
      }
      int len = std::end(buffer) - d;
      if (dest.rdbuf()->sputn(d, len) != len) {
        dest.setstate(std::ios_base::badbit);
      }
    }
    return dest;
  }
  namespace converter{
    int dict[500];
    const string lower="abcdefghijklmnopqrstuvwxyz";
    const string upper="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    const string digit="0123456789";
    const string digit1="123456789";
    void regi_str(const string &t){
      for(int i=0;i<t.size();i++){
        dict[t[i]]=i;
      }
    }
    void regi_int(const string &t){
      for(int i=0;i<t.size();i++){
        dict[i]=t[i];
      }
    }
    vector<int>to_int(const string &s,const string &t){
      regi_str(t);
      vector<int>ret(s.size());
      for(int i=0;i<s.size();i++){
        ret[i]=dict[s[i]];
      }
      return ret;
    }
    vector<int>to_int(const string &s){
      auto t=s;
      sort(t.begin(),t.end());
      t.erase(unique(t.begin(),t.end()),t.end());
      return to_int(s,t);
    }
    
    vector<vector<int>>to_int(const vector<string>&s,const string &t){
      regi_str(t);
      vector<vector<int>>ret(s.size(),vector<int>(s[0].size()));
      for(int i=0;i<s.size();i++){
        for(int j=0;j<s[0].size();j++){
          ret[i][j]=dict[s[i][j]];
        }
      }
      return ret;
    }
    vector<vector<int>>to_int(const vector<string>&s){
      string t;
      for(int i=0;i<s.size();i++){
        t+=s[i];
      }
      sort(t.begin(),t.end());t.erase(unique(t.begin(),t.end()),t.end());
      return to_int(s,t);
    }
    string to_str(const vector<int>&s,const string &t){
      regi_int(t);
      string ret;
      for(auto z:s)ret+=dict[z];
      return ret;
    }
    vector<string> to_str(const vector<vector<int>>&s,const string &t){
      regi_int(t);
      vector<string>ret(s.size());
      for(int i=0;i<s.size();i++){
        for(auto z:s[i])ret[i]+=dict[z];
      }
      return ret;
    }
  }
  template< typename T = int >
  struct edge {
    int to;
    T cost;
    int id;
    edge():to(-1),id(-1){};
    edge(int to, T cost = 1, int id = -1):to(to), cost(cost), id(id){}
    operator int() const { return to; }
  };

  template<typename T>
  using Graph = vector<vector<edge<T>>>;
  template<typename T>
  Graph<T>revgraph(const Graph<T> &g){
    Graph<T>ret(g.size());
    for(int i=0;i<g.size();i++){
      for(auto e:g[i]){
        int to = e.to;
        e.to = i;
        ret[to].push_back(e);
      }
    }
    return ret;
  }
  template<typename T>
  Graph<T> readGraph(int n,int m,int indexed=1,bool directed=false,bool weighted=false){
    Graph<T> ret(n);
    for(int es = 0; es < m; es++){
      int u,v;
      T w=1;
      cin>>u>>v;u-=indexed,v-=indexed;
      if(weighted)cin>>w;
      ret[u].emplace_back(v,w,es);
      if(!directed)ret[v].emplace_back(u,w,es);
    }
    return ret;
  }
  template<typename T>
  Graph<T> readParent(int n,int indexed=1,bool directed=true){
    Graph<T>ret(n);
    for(int i=1;i<n;i++){
      int p;cin>>p;
      p-=indexed;
      ret[p].emplace_back(i);
      if(!directed)ret[i].emplace_back(p);
    }
    return ret;
  }
}
using namespace template_tute;
template<ll base, ll sz>
struct Bits{
  vector<ll>data;
  ll value;
  Bits(){data.assign(sz,0);};
  Bits(ll k):value(k){
    data.assign(sz,0);
    build(k);
  }
  void build(ll k){
    for(ll i=0;i<sz;i++){
      data[i] = k % base;
      k /= base;
    }
  }
  Bits &operator=(const ll k){
    fill(ALL(this->data),0);
    this->build(k);
  }
  ll &operator[](const ll k){
    return this->data.at(k);
  }
  static ll pow(ll k){
    ll ret=1;
    while(k--)ret *= base;
    return ret;
  }
  void print(){
    for(ll i=sz-1;i>=0;i--){
      if(i!=sz-1)cout<<" ";
      cout<<data[i];
    }
    cout<<endl;
  }
};
using bits = Bits<3,15>;
struct UnionFind {
  vector<ll> data;
  ll num;
  UnionFind(ll size) : data(size, -1) ,num(size){ }
  bool unite(int x, int y) {
    x = root(x); y = root(y);
    if (x != y) {
      if (data[y] < data[x]) swap(x, y);
      data[x] += data[y]; data[y] = x;
    num--;
    }
    return x != y;
  }
  bool find(int x, int y) {
    return root(x) == root(y);
  }
  int root(int x) {
    return data[x] < 0 ? x : data[x] = root(data[x]);
  }
  ll size(int x) {
    return -data[root(x)];
  }
  vector<vector<int>>groups(){
    vector<vector<int>>ret(data.size());
    for(int i=0;i<data.size();i++){
      ret[root(i)].push_back(i);
    }
    return ret;
  }
  void print(){
    auto tmp=groups();
    for(int i=0;i<data.size();i++){
      if(!tmp[i].empty()){
        for(auto z:tmp[i])cout<<z<<",";
        cout<<endl;
      }
    }
  }
};
void solve(){
	ll res=0,buf=0;
  bool judge = true;

  ll n;cin>>n;
  vector<ll>p(n);
  UnionFind uf(n);
  rep(i,0,n){
    cin>>p[i],p[i]--;
    uf.unite(i,p[i]);
  }
  vector<ll>s;
  bitset<150005>bit;
  bit[0]=1;
  {
    auto gr=uf.groups();
    for(auto &g:gr){
      if(g.empty())continue;
      s.push_back(g.size()); 
      if(g.size()%2==0)bit|=bit<<g.size()/2;
    }
  }
  sort(ALL(s));
  ll q;cin>>q;
  ll m=s.size();
  OUT(s);
  //rep(i,0,20)OUT(bit[i]);
  vector<P>evps,odps;
  map<ll,ll>mp;
  for(auto z:s){
    mp[z]++;
  }
  for(auto zz:mp){
    if(zz.fi%2==0)evps.EB(zz);
    else odps.EB(zz);
  }
  reverse(ALLR(odps));
  //OUT(evps,odps);
  while(q--){
    ll a0,a1,a2;cin>>a0>>a1>>a2;
    ll ret=0;
    ll slot1=0;
    ll slot2=0;
    ll ss=0;
    if(bit[min(a0,a1)])ss=4*min(a0,a1);
    //OUT(bit[min(a0,a1)],ss);
    for(auto [s,c]:evps){
      ll kk=min(c-1,a0/(s/2));
      {
        a0-=kk*(s/2);
        ret+=2*kk*(s/2);
        slot2+=max(0LL,s/2-1)*kk;
      }
      ll mi=min(a0,s/2);
      a0-=mi;
      ret+=2*mi;
      slot2+=max(0LL,mi-1);
      if(mi*2<s){
        if(mi!=0)slot1+=2;
      }
      else slot2++;
    }
    ll slot=0;
    //OUT(ret,a0,a1,slot1,slot2);
    ll slot0=0;
    for(auto [s,c]:odps){
      if(s/2!=0){
        ll kk=min(c-1,a0/(s/2));
        {
          a0-=kk*(s/2);
          ret+=2*kk*(s/2);
          slot2+=max(0LL,s/2-1)*kk;
        }
        c-=kk;
      }
      ll mi=min(a0,s/2);
      a0-=mi;
      ret+=2*mi;
      //01だと3点、11だと2点、1だと1点、0だと1点
      if(mi>0)slot++,c--;
      slot0+=c;
    }
    // rep(i,0,m){
    //   if(s[i]%2==1){
    //     ll mi=min(a0,s[i]/2);
    //     slot2+=max(0LL,mi-1);
    //     ret+=2*mi;
    //     a0-=mi;
    //     //01だと3点、11だと2点、1だと1点、0だと1点
    //     if(mi>0)slot++;
    //     else slot0++;
    //   }
    // }
    //OUT(ret,a0,a1,slot,slot0,slot1,slot2);
    ll mislot0=min(slot,a0);
    a0-=mislot0;
    ret+=mislot0;
    slot2+=mislot0;
    slot1+=2*slot-mislot0*2;
    //OUT(slot1,slot2,ret,a0,a1);
    ret+=2*min(a1,slot2);
    a1-=min(a1,slot2);
    ret+=min(a1,slot1);
    ret+=min(slot0,a0);
    cout<<max(ret,ss)<<endl;
  }
}

int main(){
  cin.tie(nullptr);
  ios_base::sync_with_stdio(false);
  ll res=0,buf=0;
  bool judge = true;
  int T = 1;
  //cin>>T;
  while(T--){
    solve();
  }
  return 0;
}

Submission Info

Submission Time
Task C - Maximize Sum of Mex
User tute7627
Language C++ 23 (gcc 12.2)
Score 0
Code Size 14114 Byte
Status WA
Exec Time 1834 ms
Memory 21404 KiB

Compile Error

Main.cpp: In function ‘void template_tute::converter::regi_str(const std::string&)’:
Main.cpp:141:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  141 |       for(int i=0;i<t.size();i++){
      |                   ~^~~~~~~~~
Main.cpp:142:18: warning: array subscript has type ‘char’ [-Wchar-subscripts]
  142 |         dict[t[i]]=i;
      |                  ^
Main.cpp: In function ‘void template_tute::converter::regi_int(const std::string&)’:
Main.cpp:146:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  146 |       for(int i=0;i<t.size();i++){
      |                   ~^~~~~~~~~
Main.cpp: In function ‘std::vector<int> template_tute::converter::to_int(const std::string&, const std::string&)’:
Main.cpp:153:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  153 |       for(int i=0;i<s.size();i++){
      |                   ~^~~~~~~~~
Main.cpp:154:25: warning: array subscript has type ‘char’ [-Wchar-subscripts]
  154 |         ret[i]=dict[s[i]];
      |                         ^
Main.cpp: In function ‘std::vector<std::vector<int> > template_tute::converter::to_int(const std::vector<std::__cxx11::basic_string<char> >&, const std::string&)’:
Main.cpp:168:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  168 |       for(int i=0;i<s.size();i++){
      |                   ~^~~~~~~~~
Main.cpp:169:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  169 |         for(int j=0;j<s[0].size();j++){
      |                     ~^~~~~~~~~~~~
Main.cpp:170:33: warning: array subscript has type ‘char’ [-Wchar-subscripts]
  170 |           ret[i][j]=dict[s[i][j]];
      |                                 ^
Main.cpp: In function ‘std::vector<std::vector<int> > template_tute::converter::to_int(const std::vector<std::__cxx11::basic_string<char> >&)’:
Main.cpp:177:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  177 |       for(int i=0;i<s.size();i++){
      |                   ~^~~~~~~~~
Main.cpp: In function ‘std::vector<std::__cxx11::basic_string<char> > template_tute::converter::to_str(const std::vector<std::vector<int> >&, const std::string&)’:
Main.cpp:192:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::vector<int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  192 |       for(int i=0;i<s.size();i++){
      |                   ~^~~~~~~~~
Main.cpp: In member function ‘std::vector<std::vector<int> > UnionFind::groups()’:
Main.cpp:308:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<long long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  308 |     for(int i=0;i<data.size();i++){
      |                 ~^~~~~~~~~~~~
Main.cpp: In member function ‘void UnionFind::print()’:
Main.cpp:315:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<long long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  315 |     for(int i=0;i<data.size();i++){
      |                 ~^~~~~~~~~~~~
Main.cpp: In function ‘void solve()’:
Main.cpp:324:12: warning: unused variable ‘res’ [-Wunused-variable]
  324 |         ll res=0,buf=0;
      |            ^~~
Main.cpp:324:18: warning: unused variable ‘buf’ [-Wunused-variable]
  324 |         ll res=0,buf=0;
      |                  ^~~
Main.cpp:325:8: warning: unused variable ‘judge’ [-Wunused-variable]
  325 |   bool judge = true;
      |        ^~~~~
Main.cpp:347:6: warning: unused variable ‘m’ [-Wunused-variable]
  347 |   ll m=s.size();
      |      ^
Main.cpp: In function ‘int main()’:
Main.cpp:434:6: warning: unused variable ‘res’ [-Wunused-variable]
  434 |   ll res=0,buf=0;
      |      ^~~
Main.cpp:434:12: warning: unused variable ‘buf’ [-Wunused-variable]
  434 |   ll res=0,buf=0;
      |            ^~~
Main.cpp:435:8: warning: unused variable ‘judge’ [-Wunused-variable]
  435 |   bool judge = true;
      |        ^~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 900
Status
AC × 3
AC × 12
WA × 39
Set Name Test Cases
Sample 01-sample-01.txt, 01-sample-02.txt, 01-sample-03.txt
All 01-sample-01.txt, 01-sample-02.txt, 01-sample-03.txt, 02-small-01.txt, 02-small-02.txt, 02-small-03.txt, 02-small-04.txt, 02-small-05.txt, 02-small-06.txt, 02-small-07.txt, 02-small-08.txt, 02-small-09.txt, 02-small-10.txt, 03-random-01.txt, 03-random-02.txt, 03-random-03.txt, 03-random-04.txt, 03-random-05.txt, 03-random-06.txt, 03-random-07.txt, 03-random-08.txt, 03-random-09.txt, 03-random-10.txt, 04-divide-01.txt, 04-divide-02.txt, 04-divide-03.txt, 04-divide-04.txt, 04-divide-05.txt, 04-divide-06.txt, 04-divide-07.txt, 04-divide-08.txt, 04-divide-09.txt, 04-divide-10.txt, 05-even-divide-01.txt, 05-even-divide-02.txt, 05-even-divide-03.txt, 05-even-divide-04.txt, 05-even-divide-05.txt, 05-even-divide-06.txt, 05-even-divide-07.txt, 05-even-divide-08.txt, 05-even-divide-09.txt, 05-even-divide-10.txt, 06-even-triangular-divide-01.txt, 06-even-triangular-divide-02.txt, 07-large-cycle-01.txt, 07-large-cycle-02.txt, 08-odd-triangular-divide-01.txt, 08-odd-triangular-divide-02.txt, 09-triangular-divide-01.txt, 09-triangular-divide-02.txt
Case Name Status Exec Time Memory
01-sample-01.txt AC 1 ms 3520 KiB
01-sample-02.txt AC 1 ms 3584 KiB
01-sample-03.txt AC 1 ms 3592 KiB
02-small-01.txt AC 1 ms 3512 KiB
02-small-02.txt AC 1 ms 3432 KiB
02-small-03.txt AC 1 ms 3520 KiB
02-small-04.txt AC 1 ms 3596 KiB
02-small-05.txt WA 1 ms 3496 KiB
02-small-06.txt AC 1 ms 3572 KiB
02-small-07.txt AC 1 ms 3520 KiB
02-small-08.txt AC 1 ms 3596 KiB
02-small-09.txt AC 1 ms 3592 KiB
02-small-10.txt AC 1 ms 3440 KiB
03-random-01.txt WA 111 ms 15984 KiB
03-random-02.txt WA 112 ms 16144 KiB
03-random-03.txt WA 100 ms 16344 KiB
03-random-04.txt WA 98 ms 15660 KiB
03-random-05.txt WA 100 ms 16212 KiB
03-random-06.txt WA 94 ms 16804 KiB
03-random-07.txt WA 106 ms 16220 KiB
03-random-08.txt WA 111 ms 15896 KiB
03-random-09.txt WA 125 ms 16404 KiB
03-random-10.txt WA 113 ms 15928 KiB
04-divide-01.txt WA 361 ms 17112 KiB
04-divide-02.txt WA 712 ms 16456 KiB
04-divide-03.txt WA 341 ms 17244 KiB
04-divide-04.txt WA 529 ms 16652 KiB
04-divide-05.txt WA 315 ms 17276 KiB
04-divide-06.txt WA 327 ms 17172 KiB
04-divide-07.txt WA 345 ms 17132 KiB
04-divide-08.txt WA 302 ms 16836 KiB
04-divide-09.txt WA 563 ms 16732 KiB
04-divide-10.txt WA 324 ms 17200 KiB
05-even-divide-01.txt WA 401 ms 21404 KiB
05-even-divide-02.txt WA 280 ms 18640 KiB
05-even-divide-03.txt WA 261 ms 18136 KiB
05-even-divide-04.txt WA 248 ms 17888 KiB
05-even-divide-05.txt WA 255 ms 17500 KiB
05-even-divide-06.txt WA 267 ms 17376 KiB
05-even-divide-07.txt WA 277 ms 17308 KiB
05-even-divide-08.txt WA 282 ms 17276 KiB
05-even-divide-09.txt WA 294 ms 17184 KiB
05-even-divide-10.txt WA 305 ms 17180 KiB
06-even-triangular-divide-01.txt WA 1398 ms 16744 KiB
06-even-triangular-divide-02.txt WA 1371 ms 16132 KiB
07-large-cycle-01.txt WA 94 ms 17072 KiB
07-large-cycle-02.txt WA 90 ms 16424 KiB
08-odd-triangular-divide-01.txt WA 1264 ms 16708 KiB
08-odd-triangular-divide-02.txt WA 1250 ms 16676 KiB
09-triangular-divide-01.txt WA 1834 ms 16928 KiB
09-triangular-divide-02.txt WA 1811 ms 16400 KiB