結果
問題 |
No.1416 ショッピングモール
|
ユーザー |
![]() |
提出日時 | 2020-12-17 12:41:37 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 10 ms / 1,000 ms |
コード長 | 523 bytes |
コンパイル時間 | 1,021 ms |
コンパイル使用メモリ | 29,312 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-20 06:58:34 |
合計ジャッジ時間 | 1,901 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
#include <stdio.h> #include <stdlib.h> int cmp(const void* a,const void* b){ return *(int*)b-*(int*)a; } int min(int a,int b){ if(a<b)return a; return b; } int main(){ int n,ans=0,cnt=0,N,a=1,A[50001]; scanf("%d",&n); N=n; for(int i=0;i<50001;i++)A[i]=0; for(int i=0;i<n;i++)scanf("%d",&A[i]); qsort(A,50001,sizeof(int),cmp); for(int i=0;i<17;i++){ a=min(a,N); for(int j=0;j<a;j++){ ans+=i*A[cnt++]; } N-=a; a*=2; if(N<=0)break; } printf("%d\n",ans); return 0; }