Submission #1173194


Source Code Expand

#ifndef KOMAKI_LOCAL
#define NDEBUG
#endif

#include <bits/stdc++.h>
#include <sys/time.h>
#include <unistd.h>
using namespace std;
#define i64         int64_t
#define rep(i, n)   for(i64 i = 0; i < ((i64)(n)); ++i)
#define sz(v)       ((i64)((v).size()))
#define bit(n)      (((i64)1)<<((i64)(n)))
#define all(v)      (v).begin(), (v).end()

std::string dbgDelim(int &i){ return (i++ == 0 ? "" : ", "); }
#define dbgEmbrace(exp) { int i = 0; os << "{"; { exp; } os << "}"; return os; }
template <class T> std::ostream& operator<<(std::ostream &os, std::vector<T> v);
template <class T> std::ostream& operator<<(std::ostream &os, std::set<T> v);
template <class T> std::ostream& operator<<(std::ostream &os, std::queue<T> q);
template <class T> std::ostream& operator<<(std::ostream &os, std::priority_queue<T> q);
template <class T, class K> std::ostream& operator<<(std::ostream &os, std::pair<T, K> p);
template <class T, class K> std::ostream& operator<<(std::ostream &os, std::map<T, K> mp);
template <class T, class K> std::ostream& operator<<(std::ostream &os, std::unordered_map<T, K> mp);
template <int INDEX, class TUPLE> void dbgDeploy(std::ostream &os, TUPLE tuple){}
template <int INDEX, class TUPLE, class H, class ...Ts> void dbgDeploy(std::ostream &os, TUPLE t)
{ os << (INDEX == 0 ? "" : ", ") << get<INDEX>(t); dbgDeploy<INDEX + 1, TUPLE, Ts...>(os, t); }
template <class T, class K> void dbgDeploy(std::ostream &os, std::pair<T, K> p, std::string delim)
{ os << "(" << p.first << delim << p.second << ")"; }
template <class ...Ts> std::ostream& operator<<(std::ostream &os, std::tuple<Ts...> t)
{ os << "("; dbgDeploy<0, std::tuple<Ts...>, Ts...>(os, t); os << ")"; return os; }
template <class T, class K> std::ostream& operator<<(std::ostream &os, std::pair<T, K> p)
{ dbgDeploy(os, p, ", "); return os; }
template <class T> std::ostream& operator<<(std::ostream &os, std::vector<T> v)
{ dbgEmbrace( for(T t: v){ os << dbgDelim(i) << t; }); }
template <class T> std::ostream& operator<<(std::ostream &os, std::set<T> s)
{ dbgEmbrace( for(T t: s){ os << dbgDelim(i) << t; }); }
template <class T> std::ostream& operator<<(std::ostream &os, std::queue<T> q)
{ dbgEmbrace( for(; q.size(); q.pop()){ os << dbgDelim(i) << q.front(); }); }
template <class T> std::ostream& operator<<(std::ostream &os, std::priority_queue<T> q)
{ dbgEmbrace( for(; q.size(); q.pop()){ os << dbgDelim(i) << q.top();   }); }
template <class T, class K> std::ostream& operator<<(std::ostream &os, std::map<T, K> mp)
{ dbgEmbrace( for(auto p: mp){ os << dbgDelim(i); dbgDeploy(os, p, "->"); }); }
template <class T, class K> std::ostream& operator<<(std::ostream &os, std::unordered_map<T, K> mp)
{ dbgEmbrace( for(auto p: mp){ os << dbgDelim(i); dbgDeploy(os, p, "->"); }); }
#define DBG_OUT std::cerr
#define DBG_OVERLOAD(_1, _2, _3, _4, _5, _6, macro_name, ...) macro_name
#define DBG_LINE() { char s[99]; sprintf(s, "line:%3d | ", __LINE__); DBG_OUT << s; }
#define DBG_OUTPUT(v) { DBG_OUT << (#v) << "=" << (v); }
#define DBG1(v, ...) { DBG_OUTPUT(v); }
#define DBG2(v, ...) { DBG_OUTPUT(v); DBG_OUT << ", "; DBG1(__VA_ARGS__); }
#define DBG3(v, ...) { DBG_OUTPUT(v); DBG_OUT << ", "; DBG2(__VA_ARGS__); }
#define DBG4(v, ...) { DBG_OUTPUT(v); DBG_OUT << ", "; DBG3(__VA_ARGS__); }
#define DBG5(v, ...) { DBG_OUTPUT(v); DBG_OUT << ", "; DBG4(__VA_ARGS__); }
#define DBG6(v, ...) { DBG_OUTPUT(v); DBG_OUT << ", "; DBG5(__VA_ARGS__); }

#define DEBUG0() { DBG_LINE(); DBG_OUT << std::endl; }
#define DEBUG(...)                                                      \
  {                                                                     \
    DBG_LINE();                                                         \
    DBG_OVERLOAD(__VA_ARGS__, DBG6, DBG5, DBG4, DBG3, DBG2, DBG1)(__VA_ARGS__); \
    DBG_OUT << std::endl;                                               \
  }







class Timer
{
public:
  void restart();
  double getElapsed();

  Timer();
private:
  static double rdtsc_per_sec_inv;

  double getTimeOfDay();
  unsigned long long int getCycle();

  double start_time;
  unsigned long long int start_clock;
};
double Timer::rdtsc_per_sec_inv = -1;


inline double Timer::getElapsed()
{
  if(rdtsc_per_sec_inv != -1) return (double)(getCycle() - start_clock) * rdtsc_per_sec_inv;

  const double RDTSC_MEASUREMENT_INTERVAL = 0.1;
  double res = getTimeOfDay() - start_time;
  if(res <= RDTSC_MEASUREMENT_INTERVAL) return res;

  rdtsc_per_sec_inv = 1.0 / (getCycle() - start_clock);
  rdtsc_per_sec_inv *= getTimeOfDay() - start_time;
  return getElapsed();
}

inline void Timer::restart()
{
  start_time = getTimeOfDay();
  start_clock = getCycle();
}

Timer::Timer()
{
  restart();
}

inline double Timer::getTimeOfDay()
{
  timeval tv;
  gettimeofday(&tv,0);
  return tv.tv_sec + tv.tv_usec * 0.000001;
}

inline unsigned long long int Timer::getCycle()
{
  unsigned int low, high;
  __asm__ volatile ("rdtsc" : "=a" (low), "=d" (high));
  return ((unsigned long long int)low) | ((unsigned long long int)high << 32);
}


class XorShift{
public:
  static int rand();
private:
  static unsigned int x;
  static unsigned int y;
  static unsigned int z;
  static unsigned int w;
  static unsigned int t;
};
unsigned int XorShift::x = 123456789;
unsigned int XorShift::y = 362436069;
unsigned int XorShift::z = 521288629;
unsigned int XorShift::w = 88675123;
unsigned int XorShift::t = 1;

int XorShift::rand()
{
  t = x ^ (x << 11);
  x = y;
  y = z;
  z = w;
  w = (w ^ (w >> 19)) ^ (t ^ (t >> 8));
  return w & 0x7fffffff;
}



const i64 N = 8;
class State
{
public:
  i64 wanted;
  i64 wait;
  i64 capacities[N];
  i64 filleds[N];
};

State readState()
{
  State state;
  cin >> state.wanted >> state.wait;
  rep(i, N) cin >> state.capacities[i];
  rep(i, N) cin >> state.filleds[i];
  return state;
}

void print_fill(i64 i)
{
  cout << "fill " << i + 1 << endl;
}

void print_move(i64 i, i64 j)
{
  cout << "move " << i + 1 << " " << j + 1 << endl;
}

void print_change(i64 i)
{
  cout << "change " << i + 1 << endl;
}

void print_pass()
{
  cout << "pass" << endl;
}

void print_sell(vector<i64> tanks)
{
  cout << "sell " << sz(tanks);
  for(i64 t: tanks) cout << " " << t + 1;
  cout << endl;
}

void run()
{
  rep(step, 1000){
    State state = readState();
    print_pass();
  }
}





int main()
{
  run();
}









Submission Info

Submission Time
Task A - 石油王Xの憂鬱
User Komaki
Language C++14 (GCC 5.4.1)
Score 0
Code Size 6566 Byte
Status AC
Exec Time 62 ms
Memory 1232 KB

Judge Result

Set Name test_01 test_02 test_03 test_04 test_05 test_06 test_07 test_08 test_09 test_10 test_11 test_12 test_13 test_14 test_15 test_16 test_17 test_18 test_19 test_20 test_21 test_22 test_23 test_24 test_25 test_26 test_27 test_28 test_29 test_30 test_31 test_32 test_33 test_34 test_35 test_36 test_37 test_38 test_39 test_40 test_41 test_42 test_43 test_44 test_45 test_46 test_47 test_48 test_49 test_50
Score / Max Score 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500 0 / 417500
Status
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
Set Name Test Cases
test_01 subtask_01_01.txt
test_02 subtask_01_02.txt
test_03 subtask_01_03.txt
test_04 subtask_01_04.txt
test_05 subtask_01_05.txt
test_06 subtask_01_06.txt
test_07 subtask_01_07.txt
test_08 subtask_01_08.txt
test_09 subtask_01_09.txt
test_10 subtask_01_10.txt
test_11 subtask_01_11.txt
test_12 subtask_01_12.txt
test_13 subtask_01_13.txt
test_14 subtask_01_14.txt
test_15 subtask_01_15.txt
test_16 subtask_01_16.txt
test_17 subtask_01_17.txt
test_18 subtask_01_18.txt
test_19 subtask_01_19.txt
test_20 subtask_01_20.txt
test_21 subtask_01_21.txt
test_22 subtask_01_22.txt
test_23 subtask_01_23.txt
test_24 subtask_01_24.txt
test_25 subtask_01_25.txt
test_26 subtask_01_26.txt
test_27 subtask_01_27.txt
test_28 subtask_01_28.txt
test_29 subtask_01_29.txt
test_30 subtask_01_30.txt
test_31 subtask_01_31.txt
test_32 subtask_01_32.txt
test_33 subtask_01_33.txt
test_34 subtask_01_34.txt
test_35 subtask_01_35.txt
test_36 subtask_01_36.txt
test_37 subtask_01_37.txt
test_38 subtask_01_38.txt
test_39 subtask_01_39.txt
test_40 subtask_01_40.txt
test_41 subtask_01_41.txt
test_42 subtask_01_42.txt
test_43 subtask_01_43.txt
test_44 subtask_01_44.txt
test_45 subtask_01_45.txt
test_46 subtask_01_46.txt
test_47 subtask_01_47.txt
test_48 subtask_01_48.txt
test_49 subtask_01_49.txt
test_50 subtask_01_50.txt
Case Name Status Exec Time Memory
subtask_01_01.txt AC 62 ms 1232 KB
subtask_01_02.txt AC 44 ms 720 KB
subtask_01_03.txt AC 43 ms 720 KB
subtask_01_04.txt AC 44 ms 720 KB
subtask_01_05.txt AC 43 ms 724 KB
subtask_01_06.txt AC 43 ms 596 KB
subtask_01_07.txt AC 45 ms 592 KB
subtask_01_08.txt AC 43 ms 724 KB
subtask_01_09.txt AC 43 ms 720 KB
subtask_01_10.txt AC 42 ms 592 KB
subtask_01_11.txt AC 43 ms 720 KB
subtask_01_12.txt AC 46 ms 592 KB
subtask_01_13.txt AC 42 ms 592 KB
subtask_01_14.txt AC 46 ms 724 KB
subtask_01_15.txt AC 42 ms 720 KB
subtask_01_16.txt AC 44 ms 724 KB
subtask_01_17.txt AC 43 ms 596 KB
subtask_01_18.txt AC 41 ms 720 KB
subtask_01_19.txt AC 45 ms 720 KB
subtask_01_20.txt AC 44 ms 720 KB
subtask_01_21.txt AC 46 ms 720 KB
subtask_01_22.txt AC 44 ms 716 KB
subtask_01_23.txt AC 46 ms 724 KB
subtask_01_24.txt AC 44 ms 720 KB
subtask_01_25.txt AC 44 ms 720 KB
subtask_01_26.txt AC 44 ms 720 KB
subtask_01_27.txt AC 43 ms 716 KB
subtask_01_28.txt AC 43 ms 716 KB
subtask_01_29.txt AC 42 ms 720 KB
subtask_01_30.txt AC 47 ms 720 KB
subtask_01_31.txt AC 43 ms 716 KB
subtask_01_32.txt AC 45 ms 716 KB
subtask_01_33.txt AC 44 ms 588 KB
subtask_01_34.txt AC 46 ms 724 KB
subtask_01_35.txt AC 43 ms 596 KB
subtask_01_36.txt AC 44 ms 720 KB
subtask_01_37.txt AC 45 ms 720 KB
subtask_01_38.txt AC 45 ms 720 KB
subtask_01_39.txt AC 44 ms 720 KB
subtask_01_40.txt AC 44 ms 720 KB
subtask_01_41.txt AC 44 ms 724 KB
subtask_01_42.txt AC 45 ms 720 KB
subtask_01_43.txt AC 43 ms 724 KB
subtask_01_44.txt AC 45 ms 720 KB
subtask_01_45.txt AC 44 ms 720 KB
subtask_01_46.txt AC 46 ms 720 KB
subtask_01_47.txt AC 44 ms 724 KB
subtask_01_48.txt AC 44 ms 720 KB
subtask_01_49.txt AC 45 ms 720 KB
subtask_01_50.txt AC 45 ms 724 KB