結果

問題 No.893 お客様を誘導せよ
ユーザー null
提出日時 2019-09-27 21:50:40
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 22 ms / 2,000 ms
コード長 5,036 bytes
コンパイル時間 1,163 ms
コンパイル使用メモリ 114,112 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-09-24 10:19:01
合計ジャッジ時間 1,871 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 11
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

/*
!
Be accepted!
_ 
。・ω・。)━☆*
      +.
    °+ *´¨)
  .· ´¸.·*´¨) ¸.·*¨)
          (¸.·´ (¸.·'* ☆
*/
#include <stdio.h>
#include <algorithm>
#include <string>
#include <cmath>
#include <cstring>
#include <vector>
#include <numeric>
#include <iostream>
#include <random>
#include <map>
#include <unordered_map>
#include <queue>
#pragma GCC optimize("Ofast")
#define rep(i, n) for(int i = 0; i < (n); ++i)
#define rep1(i, n) for(int i = 1; i < (n); ++i)
#define rep2(i, n) for(int i = 2; i < (n); ++i)
#define repr(i, n) for(int i = n; i >= 0; --i)
#define reprm(i, n) for(int i = n - 1; i >= 0; --i)
#define printynl(a) printf(a ? "yes\n" : "no\n")
#define printyn(a) printf(a ? "Yes\n" : "No\n")
#define printYN(a) printf(a ? "YES\n" : "NO\n")
#define printin(a) printf(a ? "possible\n" : "inposible\n")
#define printdb(a) printf("%.16f\n", a)//
#define all(x) (x).begin(), (x).end()
#define allsum(a, b, c) ((a + b) * c / 2)//,,
#define pb push_back
#define priq priority_queue
using ll = long long;
const int INF = 2147483647;
const int MINF = -2147483648;
const ll LINF = ll(9223372036854775807);
const ll MOD = 1000000007;
const double PI = acos(-1);
//
using namespace std;
ll gcd(ll a, ll b) {
if (b == 0) return a;
return gcd(b, a % b);
}
ll lcm(ll number1, ll number2) {//lcm
return number1 * number2 / gcd(number1, number2);
}
bool is_prime(int64_t x) {//
for (int64_t i = 2; i * i <= x; i++) {
if (x % i == 0) return false;
}
return true;
}
ll nearPow2(ll n)//x2
{
// n00
if (n <= 0) return 0;
// (n & (n - 1)) == 0 n2n
if ((n & (n - 1)) == 0) return ll(n);
// bit2
ll ret = 1;
while (n > 0) { ret <<= 1; n >>= 1; }
return ret;
}
map< int64_t, int > prime_factor(int64_t n) {//
map< int64_t, int > ret;
for (int64_t i = 2; i * i <= n; i++) {
while (n % i == 0) {
ret[i]++;
n /= i;
}
}
if (n != 1) ret[n] = 1;
return ret;
}
template< int mod >
struct ModInt {
int x;
ModInt() : x(0) {}
ModInt(int64_t y) : x(y >= 0 ? y % mod : (mod - (-y) % mod) % mod) {}
ModInt& operator+=(const ModInt& p) {
if ((x += p.x) >= mod) x -= mod;
return *this;
}
ModInt& operator-=(const ModInt& p) {
if ((x += mod - p.x) >= mod) x -= mod;
return *this;
}
ModInt& operator*=(const ModInt& p) {
x = (int)(1LL * x * p.x % mod);
return *this;
}
ModInt& operator/=(const ModInt& p) {
*this *= p.inverse();
return *this;
}
ModInt operator-() const { return ModInt(-x); }
ModInt operator+(const ModInt& p) const { return ModInt(*this) += p; }
ModInt operator-(const ModInt& p) const { return ModInt(*this) -= p; }
ModInt operator*(const ModInt& p) const { return ModInt(*this) *= p; }
ModInt operator/(const ModInt& p) const { return ModInt(*this) /= p; }
bool operator==(const ModInt& p) const { return x == p.x; }
bool operator!=(const ModInt& p) const { return x != p.x; }
ModInt inverse() const {
int a = x, b = mod, u = 1, v = 0, t;
while (b > 0) {
t = a / b;
swap(a -= t * b, b);
swap(u -= t * v, v);
}
return ModInt(u);
}
ModInt pow(int64_t n) const {
ModInt ret(1), mul(x);
while (n > 0) {
if (n & 1) ret *= mul;
mul *= mul;
n >>= 1;
}
return ret;
}
friend ostream& operator<<(ostream& os, const ModInt& p) {
return os << p.x;
}
friend istream& operator>>(istream& is, ModInt& a) {
int64_t t;
is >> t;
a = ModInt< mod >(t);
return (is);
}
static int get_mod() { return mod; }
};
using modint = ModInt< MOD >;//MOD=107
// mod. m a a^{-1}
long long modinv(long long a, long long m) {
long long b = m, u = 1, v = 0;
while (b) {
long long t = a / b;
a -= t * b; swap(a, b);
u -= t * v; swap(u, v);
}
u %= m;
if (u < 0) u += m;
return u;
}
//nCr1000000007
modint nCr(ll a, ll b) {
modint ans = 1;
for (ll i = 0; i < b; i++) {
ans *= a - i;
}
for (ll i = 1; i <= b; i++) {
ans *= modinv(i, MOD);
}
return ans;
}
void scans(string& str) {
char s[1000000];
scanf("%s", s);
str = s;
}
/*----------------------------------------------------------------------------------*/
int main() {
int n;
ll d = 0;
scanf("%d", &n);
vector<vector<int>> a(n);
int p, tmp, msize = -1;
rep(i, n) {
scanf("%d", &p);
d += p;
rep(j, p) {
scanf("%d", &tmp);
msize = max(msize, p);
a[i].pb(tmp);
}
}
int j = 0;
rep(i, d) {
if (j == n)j = 0;
if (a[j].empty()) {
--i;
++j;
continue;
}
printf("%d ", a[j][0]);
a[j].erase(a[j].begin());
++j;
}
printf("\n");
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0