Advertisement
Rofyda_Elghadban1

Untitled

Sep 2nd, 2023
942
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.82 KB | None | 0 0
  1.  /*Rofyda Mohamed Hamed Hamed Elghadban*/
  2.  //#include <bits/stdc++.h>
  3.  #include <iostream>
  4.  #include <iomanip>
  5.  #include <cmath>
  6.  #include <algorithm>
  7.  #include <cstdlib>
  8.  #include <limits.h>
  9.  #include <string>
  10.  #include <vector>
  11.  #include <map>
  12.  #include <stack>
  13.  #include <set>
  14.  #include <deque>
  15.  #include <fstream>
  16.  #include <bitset>
  17.  #include <cmath>
  18.  #include <numeric>
  19.  #include <cstring>
  20.  #include <utility>
  21.  #include <queue>
  22.  
  23.  /***********************************************************************************/
  24.  
  25.  #define ll long long
  26.  #define ull unsigned long long
  27.  #define pi 3.141592654
  28.  #define NUM 1e18
  29.  #define Mod  1'000'000'007
  30.  #define fixed(n) fixed<<setprecision(n)
  31.  #define cin(v) for(auto &i:v) cin >> i ;
  32.  #define cout(v) for(auto &i:v) cout << i  <<" ";
  33.  #define Ceil(a,b) ((a/b)+(a%b ? 1 : 0))
  34.  #define vowel(x) (x=='e'||x=='a'||x=='i'||x=='o'||x=='u')
  35.  #define small(x) (x>=97&&x<=122)
  36.  #define capital(x) (x>=65&&x<=90)
  37.  #define Tolower(s) transform(s.begin(),s.end(),s.begin(),::tolower);
  38.  #define Toupper(s) transform(s.begin(),s.end(),s.begin(),::toupper);
  39.  #define all(v) ((v).begin()), ((v).end())
  40.  #define allr(v) ((v).rbegin()), ((v).rend())
  41.  #define updmax(a,b) a=max(a,b)
  42.  #define updmin(a,b) a=min(a,b)
  43.  #define ceil(a,b) ((a/b)+(a%b?1:0))
  44.  /* asc -> 1 2 3 ,des -> 3 2 1 */
  45.  
  46.  /***********************************************************************************/
  47.  
  48.  using namespace std;
  49.  
  50.  void Rofyda_Elghadban(){
  51.   #ifndef ONLINE_JUDGE  
  52.     freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout);
  53.    #endif
  54.     ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  55.  }
  56.  
  57.  void solve(){
  58.  }
  59.  
  60.  int main(){
  61.   Rofyda_Elghadban();
  62.  //freopen("input.txt","r",stdin);
  63.  //freopen("output.txt","r",stdout);
  64.  
  65.  //solve();
  66.  
  67. //  int n;
  68. //  cin>>n;
  69. //  vector<int>v(n+1);
  70. //  v[0]=0;
  71. //  for(int i=1;i<n+1;i++){
  72. //   cin>>v[i];
  73. //  }
  74. //  ll prefix1[n+2]{},prefix2[n+2]{};
  75. //  for(int i=1;i<v.size()+1;i++){
  76. //   prefix1[i]=v[i]+prefix1[i-1];
  77. //  }
  78. //  sort(all(v));
  79. //  for(int i=1;i<v.size()+1;i++){
  80. //   prefix2[i]=v[i]+prefix2[i-1];
  81. //  }
  82. //  int q;
  83. //  cin>>q;
  84. //  while(q--){
  85. //   int t,l,r;
  86. //   cin>>t>>l>>r;
  87. //   if(t==1){
  88. //     cout<<prefix1[r]-prefix1[l-1]<<"\n";
  89. //   }else if(t==2){
  90. //     cout<<prefix2[r]-prefix2[l-1]<<"\n";
  91. //   }
  92. //  }
  93.  
  94.  ll n,k,prefix[100001]{};
  95.  cin>>n>>k;
  96.  vector<ll>v1(n+1),v2(n+1);
  97.  v1[0]=0,v2[0]=0;
  98.  for(ll i=1;i<n+1;i++){
  99.   cin>>v1[i];
  100.  }
  101.  for(ll i=1;i<n+1;i++){
  102.   cin>>v2[i];
  103.  }
  104.  for(ll i=1;i<n+1;i++){
  105.   prefix[i]=v1[i]+prefix[i-1];
  106.  }
  107.  ll l=1,r=l+k-1,maxi=INT_MIN,idx=0;
  108.  for(ll i=1;i<v1.size()-k+1;i++){
  109.   if(v2[i]==0){
  110.     if(maxi<=prefix[r]-prefix[l-1]){
  111.       maxi=max(maxi,prefix[r]-prefix[l-1]);
  112.       idx=i;
  113.       for(ll i=0;i<idx;i++){
  114.         if(v2[i]==1){
  115.           maxi=maxi+v1[i];
  116.         }
  117.       }
  118.     }
  119.   }
  120.   l++;
  121.   r++;
  122.  }cout<<maxi<<"\n";
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  return 0;
  130. }
  131.  
  132.  
  133. /*
  134.  
  135. * * * * * * * *    * * * * * * * *    * * * * * * * *    *             *
  136. *             *    *             *    *                  *             *
  137. *             *    *             *    *                  *             *
  138. *             *    *             *    *                  *             *
  139. * * * * * * * *    *             *    * * * * * * * *    * * * * * * * *
  140. * *                *             *    *                                *
  141. *   *              *             *    *                                *
  142. *     *            *             *    *                                *
  143. *       *          *             *    *                                *
  144. *         *        *             *    *                                *
  145. *           *      *             *    *                                *    
  146. *             *    * * * * * * * *    *                  * * * * * * * *
  147.  
  148. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement