結果

問題 No.216 FAC
ユーザー tokizotokizo
提出日時 2018-01-14 11:41:15
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 881 bytes
コンパイル時間 698 ms
コンパイル使用メモリ 77,348 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-06-06 11:24:45
合計ジャッジ時間 1,603 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,812 KB
testcase_01 AC 2 ms
6,944 KB
testcase_02 AC 2 ms
6,944 KB
testcase_03 AC 2 ms
6,940 KB
testcase_04 AC 2 ms
6,944 KB
testcase_05 AC 2 ms
6,944 KB
testcase_06 AC 2 ms
6,940 KB
testcase_07 AC 2 ms
6,940 KB
testcase_08 AC 2 ms
6,940 KB
testcase_09 AC 2 ms
6,940 KB
testcase_10 AC 2 ms
6,944 KB
testcase_11 AC 2 ms
6,940 KB
testcase_12 AC 2 ms
6,940 KB
testcase_13 AC 2 ms
6,940 KB
testcase_14 AC 2 ms
6,940 KB
testcase_15 AC 2 ms
6,940 KB
testcase_16 AC 2 ms
6,944 KB
testcase_17 AC 2 ms
6,940 KB
testcase_18 AC 2 ms
6,940 KB
testcase_19 AC 2 ms
6,940 KB
testcase_20 AC 2 ms
6,940 KB
testcase_21 AC 2 ms
6,944 KB
testcase_22 AC 2 ms
6,940 KB
testcase_23 AC 2 ms
6,940 KB
testcase_24 AC 2 ms
6,940 KB
testcase_25 AC 2 ms
6,940 KB
testcase_26 AC 2 ms
6,944 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:29:9: warning: argument to variable-length array is too large [-Wvla-larger-than=]
   29 |     int T[ma + 1] = {};
      |         ^
main.cpp:29:9: note: limit is 9223372036854775807 bytes, but argument is 18446744065119617028

ソースコード

diff #

#include <iostream>
#include <math.h>
#include <algorithm>
#include <functional>
#include <vector>
#include <typeinfo>
#include <climits>
#include <ctype.h>
#include <string>
#include <stdio.h>
using namespace std;
#define INIT cin.tie(0); ios::sync_with_stdio(false);
#define FOR(i, a, n) for (int i = a; i < n; i++)
#define REP(i, n) for(int i = 0; i < n; i++)

int main()
{
    INIT;

    int n;
    cin >> n;
    int A[n], B[n];
    REP(i, n) cin >> A[i];
    int ma = INT_MIN;
    REP(i, n){
        cin >> B[i];
        ma = max(ma, B[i]);
    }
    int T[ma + 1] = {};

    int k = 0;
    REP(i, n){
        if(B[i] == 0) k += A[i];
        else T[B[i]] += A[i];
    }
    
    int f = 0;
    REP(i, ma + 1){
        if(k < T[i]){
            cout << "NO" << endl;
            f = 1;
            break;
        }
    }
    if(f == 0) cout << "YES" << endl; 

    return 0;
}
0