結果
| 問題 |
No.216 FAC
|
| コンテスト | |
| ユーザー |
aoharu9825
|
| 提出日時 | 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;
}
aoharu9825