結果

問題 No.885 アマリクエリ
ユーザー はまやんはまやん
提出日時 2019-09-14 08:39:01
言語 C++17(1z)
(gcc 9.2.0)
結果
AC  
実行時間 212 ms
コード長 1,811 Byte
コンパイル時間 1,872 ms
使用メモリ 4,040 KB
最終ジャッジ日時 2020-01-21 13:12:01

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
0.txt AC 212 ms
3,960 KB
1.txt AC 104 ms
3,964 KB
2.txt AC 44 ms
3,928 KB
3.txt AC 40 ms
3,900 KB
4.txt AC 40 ms
3,988 KB
5.txt AC 28 ms
3,960 KB
6.txt AC 20 ms
4,040 KB
7.txt AC 12 ms
3,924 KB
8.txt AC 20 ms
3,360 KB
9.txt AC 104 ms
3,972 KB
sample_0.txt AC 0 ms
3,364 KB
sample_1.txt AC 0 ms
3,424 KB
sample_2.txt AC 0 ms
3,388 KB
small_0.txt AC 4 ms
3,452 KB
small_1.txt AC 0 ms
3,480 KB
small_2.txt AC 4 ms
3,548 KB
small_3.txt AC 4 ms
3,392 KB
small_4.txt AC 4 ms
3,388 KB
small_5.txt AC 4 ms
3,360 KB
small_6.txt AC 0 ms
3,392 KB
small_7.txt AC 4 ms
3,504 KB
small_8.txt AC 4 ms
3,524 KB
テストケース一括ダウンロード

ソースコード

diff #
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<b;i++)
#define rrep(i,a,b) for(int i=a;i>=b;i--)
#define fore(i,a) for(auto &i:a)
#define all(x) (x).begin(),(x).end()
//#pragma GCC optimize ("-O3")
using namespace std; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); _main(); }
typedef long long ll; const int inf = INT_MAX / 2; const ll infl = 1LL << 60;
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; }
//---------------------------------------------------------------------------------------------------
/*---------------------------------------------------------------------------------------------------
            ∧_∧
      ∧_∧  (´<_` )  Welcome to My Coding Space!
     ( ´_ゝ`) /  ⌒i     @hamayanhamayan
    /   \     | |
    /   / ̄ ̄ ̄ ̄/  |
  __(__ニつ/     _/ .| .|____
     \/____/ (u ⊃
---------------------------------------------------------------------------------------------------*/

int N, A[101010], Q;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N;
    priority_queue<int> que;
    ll tot = 0;
    rep(i, 0, N)
    {
        cin >> A[i];
        que.push(A[i]);
        tot += A[i];
    }
    cin >> Q;
    rep(q, 0, Q) {
        int x; cin >> x;
        while(x <= que.top()) {
            int qu = que.top();
            que.pop();
            tot -= qu;
            qu %= x;
            tot += qu;
            que.push(qu);
        }
        printf("%lld\n", tot);
    }
}



0