結果
問題 | No.854 公平なりんご分配 |
ユーザー | 0214sh7 |
提出日時 | 2019-07-26 23:19:29 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 3,018 bytes |
コンパイル時間 | 1,780 ms |
コンパイル使用メモリ | 173,548 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-02 09:43:10 |
合計ジャッジ時間 | 12,569 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
6,816 KB |
testcase_01 | WA | - |
testcase_02 | RE | - |
testcase_03 | WA | - |
testcase_04 | RE | - |
testcase_05 | WA | - |
testcase_06 | WA | - |
testcase_07 | WA | - |
testcase_08 | WA | - |
testcase_09 | RE | - |
testcase_10 | WA | - |
testcase_11 | WA | - |
testcase_12 | RE | - |
testcase_13 | RE | - |
testcase_14 | RE | - |
testcase_15 | RE | - |
testcase_16 | RE | - |
testcase_17 | RE | - |
testcase_18 | RE | - |
testcase_19 | RE | - |
testcase_20 | RE | - |
testcase_21 | RE | - |
testcase_22 | RE | - |
testcase_23 | RE | - |
testcase_24 | RE | - |
testcase_25 | RE | - |
testcase_26 | RE | - |
testcase_27 | RE | - |
testcase_28 | RE | - |
testcase_29 | RE | - |
testcase_30 | RE | - |
testcase_31 | RE | - |
testcase_32 | RE | - |
testcase_33 | RE | - |
testcase_34 | RE | - |
testcase_35 | RE | - |
testcase_36 | RE | - |
testcase_37 | RE | - |
testcase_38 | RE | - |
testcase_39 | RE | - |
testcase_40 | RE | - |
testcase_41 | RE | - |
testcase_42 | RE | - |
testcase_43 | RE | - |
testcase_44 | RE | - |
testcase_45 | RE | - |
testcase_46 | RE | - |
testcase_47 | RE | - |
testcase_48 | RE | - |
testcase_49 | RE | - |
testcase_50 | RE | - |
testcase_51 | RE | - |
testcase_52 | RE | - |
testcase_53 | RE | - |
testcase_54 | RE | - |
testcase_55 | RE | - |
testcase_56 | RE | - |
testcase_57 | RE | - |
testcase_58 | RE | - |
testcase_59 | RE | - |
testcase_60 | RE | - |
testcase_61 | RE | - |
testcase_62 | RE | - |
testcase_63 | RE | - |
testcase_64 | RE | - |
testcase_65 | RE | - |
testcase_66 | RE | - |
testcase_67 | RE | - |
testcase_68 | RE | - |
testcase_69 | RE | - |
testcase_70 | RE | - |
testcase_71 | RE | - |
testcase_72 | RE | - |
testcase_73 | RE | - |
testcase_74 | RE | - |
testcase_75 | RE | - |
testcase_76 | RE | - |
testcase_77 | RE | - |
testcase_78 | RE | - |
testcase_79 | RE | - |
testcase_80 | RE | - |
testcase_81 | RE | - |
testcase_82 | RE | - |
testcase_83 | RE | - |
testcase_84 | RE | - |
testcase_85 | RE | - |
testcase_86 | RE | - |
testcase_87 | RE | - |
testcase_88 | RE | - |
testcase_89 | RE | - |
testcase_90 | RE | - |
testcase_91 | RE | - |
testcase_92 | RE | - |
testcase_93 | RE | - |
ソースコード
#include <bits/stdc++.h> using namespace std; #define MOD 1000000007 //#define MOD 998244353 #define INF 1145141919810893364 typedef pair<int,int> PP; typedef long long ll; template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } #define int ll #define setdouble setprecision #define REP(i,n) for(int i=0;i<(n);++i) #define OREP(i,n) for(int i=1;i<=(n);++i) #define RREP(i,n) for(int i=(n)-1;i>=0;--i) #define GOODBYE cout << -1 << endl;return 0 #define MM <<" "<< #define Endl endl const int MEM=20; bool Imp[MEM]={}; int Imp_r[MEM]={}; int Amax=0; vector<int> Pri; int G[2000]; const int maxN=2000; bool Prime[maxN+1]={}; void PrimeArray(int n){ for(int i=0;i<=maxN;i++){ Prime[i]=true; } Prime[0]=false; Prime[1]=false; int root_n = (int)sqrt(n); for(int i=2;i<=root_n;i++){ if(Prime[i]==false)continue; for(int j=2*i;j<=n;j+=i){ Prime[j]=false; } } } vector<int> factoring(int E){ vector<int> R; REP(i,Pri.size()){ R.push_back(0); while(1){ if(E%Pri[i]==0){ R[(R.size())-1]++; }else{ break; } } } return R; } signed main(void){ int N,Q; int A[MEM],P[MEM],L[MEM],R[MEM]; vector<int> a[MEM],p[MEM]; vector<int> b[MEM],q[MEM]; cin >> N; REP(i,N){ cin >> A[i]; Amax=max(Amax,A[i]); a[i]=factoring(A[i]); } cin >> Q; REP(i,N){ cin >> P[i] >> L[i] >> R[i]; L[i]--;R[i]--; p[i]=factoring(P[i]); } PrimeArray(Amax); REP(i,maxN){ if(Prime[i]==true){ G[i]=Pri.size(); Pri.push_back(i); } } REP(i,N){ if(i==0){ Imp_r[i]=Imp[i]; }else{ Imp_r[i]=Imp_r[i-1]+Imp[i]; } } REP(i,N){ if(i==0){ REP(j,a[0].size()){ b[i][j]=a[i][j]; q[i][j]=p[i][j]; } }else{ REP(j,a[0].size()){ b[i][j]=b[i-1][j]+a[i][j]; q[i][j]=q[i-1][j]+p[i][j]; } } } REP(i,Q){ int I; vector<int> C,E; I=Imp_r[R[i]];if(L[i]!=0)I-=Imp_r[L[i]-1]; REP(j,b[0].size()){ C[j]=b[R[i]][j]; } REP(j,q[0].size()){ E[j]=q[R[i]][j]; } if(L[i]!=0){ REP(j,b[0].size()){ C[j]-=b[L[i]-1][j]; } REP(j,q[0].size()){ E[j]-=q[L[i]-1][j]; } } bool check=true; REP(j,b[0].size()){ if(C[j]>E[j]){ check=false; } } if(I==0 && check==true){ cout << "Yes" << endl; }else{ cout << "NO" << endl; } } return 0; }