Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <string.h>
- using namespace std;
- struct Reduc
- {
- char raspuns[10];
- int k;
- int nrMax;
- };
- Reduc reducere(int a[10000], int b[10000], int n, int m)
- {
- Reduc rezult;
- int ok = 1;
- int s = 0;
- int i = 1, j = 1;
- int k ,nrMax = 0, nr = 0;
- while(i <= n && j <= m){
- s += a[i];
- nr++;
- if(s == b[j]){
- if(nr > nrMax){
- nrMax = nr;
- k = j;
- }
- nr = 0;
- j++;
- s = 0;
- }
- else if(s > b[j]){
- ok = 0;
- break;
- }
- i++;
- }
- if(ok){
- strcpy(rezult.raspuns, "adevarat");
- rezult.k = k;
- rezult.nrMax = nrMax;
- }
- else{
- strcpy(rezult.raspuns, "fals");
- rezult.k = -1;
- rezult.nrMax = -1;
- }
- return rezult;
- }
- int main()
- {
- int n = 12;
- int a[10000] = {0, 6, 3, 4, 1, 6, 4, 6, 1, 7, 1, 8, 7};
- int m = 4;
- int b[10000] = {0, 13, 7, 18, 16};
- cout << reducere(a,b,n,m).raspuns << " " << reducere(a,b,n,m).k << " " << reducere(a,b,n,m).nrMax;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement