Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- //Problema 1
- bool soma(int v[], int n, int x){
- int l = 1;
- int r = n;
- while(l < r){
- if(v[l]+v[r] == x){
- return true;
- }
- else if(v[l]+v[r] < x){
- l++;
- }
- else if(v[l]+v[r] > x){
- r--;
- }
- }
- return false;
- }
- //Problema 2
- int maxSum(int v[], int n, int k){
- int l = 1;
- int r = k;
- //Soma da primeira janela
- int max_soma = 0;
- for(int i = 1; i <= k; i++){
- max_soma += v[i];
- }
- int soma = max_soma;
- while(r <= n){
- l++;
- r++;
- soma += v[r] - v[l-1];
- max_soma = max(max_soma, soma);
- }
- return max_soma;
- }
- //Problema 3
- int nSumX(int v[], int n, int x){
- int l = 1;
- int r = 1;
- int soma = v[1];
- int resp = 0;
- while(l < n){
- if(r-l > n){
- soma -= v[l];
- l++;
- }
- if(soma < x){
- r++;
- soma += v[r];
- }
- if(soma > x){
- soma -=v[l];
- l++;
- }
- if(soma == x){
- resp++;
- soma -=v[l];
- l++;
- r++;
- soma += v[r];
- }
- }
- return resp;
- }
- //Problema 4
- int maxSomaS(int v[], int n, int m){
- int l = 1;
- int r = 1;
- int soma = 0;
- int resp = 0;
- while(l <= n){
- while(r <= n && soma + v[r] < m){
- soma += v[r];
- r++
- }
- resp = max(resp, soma);
- soma -= v[l];
- l++;
- }
- return resp;
- }
- int main() {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement