結果
問題 |
No.216 FAC
|
ユーザー |
![]() |
提出日時 | 2019-07-18 17:36:47 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 900 bytes |
コンパイル時間 | 1,101 ms |
コンパイル使用メモリ | 31,104 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-25 22:32:15 |
合計ジャッジ時間 | 1,237 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> typedef long long int ll; ll MAX(ll a, ll b){return a>b?a:b;} ll MIN(ll a, ll b){return a>b?b:a;} int compare(const void* a, const void* b){return *(int*)a - *(int*)b;} ll digits(ll a){ll tmp=a; ll cnt=0; while(tmp>0){tmp/=10; cnt+=1;} return cnt;} int main(void){ int n; scanf("%d", &n); int score[n]; for(int i=0; i<n; i++){ scanf("%d", &score[i]); } int result[100]; for(int i=0; i<100; i++){ result[i] = 0; } int k = 0; for(int i=0; i<n; i++){ int idx; scanf("%d", &idx); if(idx==0){ k += score[i]; }else{ result[idx-1] += score[i]; } } qsort(result, 100, sizeof(int), compare); if(k >= result[99]){ printf("YES\n"); }else{ printf("NO\n"); } return 0; }