jatarc2004

Untitled

Apr 13th, 2025
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int bin_pow(int a, int b){
  5.     int ans=1;
  6.     while(b){
  7.         if(b&1){
  8.             ans*=a;
  9.         }
  10.         a*=a;
  11.         b>>=1;
  12.     }
  13.     return ans;
  14. }
  15.  
  16. int ch[10000005];
  17. vector<int> f(10000005,-1);
  18.  
  19. signed main(){
  20.     ios_base::sync_with_stdio(false);
  21.     cin.tie(NULL);
  22.     for(int i=2; i<=10000000; i++){
  23.         if(ch[i]) continue;
  24.         for(int j=2*i; j<=10000000; j+=i) ch[j]=i;
  25.     }
  26.     vector<int> prim;
  27.     for(int i=2; i<=10000000; i++) if(!ch[i]) prim.push_back(i);
  28.     for(auto it:prim) f[it]=1;
  29.     for(int i=4; i<=10000000; i++){
  30.         if(i%2==0) f[i]=2;
  31.         else{
  32.             if(f[i-2]==1 && f[i]==-1) f[i]=2;
  33.         }
  34.     }
  35.     for(int i=2; i<=10000000; i++) if(f[i]==-1) f[i]=3;
  36.     int t;
  37.     cin>>t;
  38.     while(t--){
  39.         int n, k;
  40.         cin>>n>>k;
  41.         int arr[n];
  42.         for(int i=0; i<n; i++) cin>>arr[i];
  43.         vector<int> v;
  44.         for(int i=0; i<n; i++) v.push_back(f[arr[i]]);
  45.         sort(v.begin(),v.end());
  46.         int ans=k;
  47.         for(int i=0; i<n-k; i++) ans+=v[i];
  48.         cout<<ans<<'\n';
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment