Elementele din B sunt sume de elemente consecutive din vectorul A. Atunci, daca scazi succesiv elemente din B pana obtinem 0.
Prin citirea elementelor o data din B si A obtinem verificarea in mod direct
#include <iostream>
#include <fstream>
using namespace std;
int main(){
int n,m,i=0,j,ok;
ifstream fin("numere.in");
fin>>n>>m;
int a[n],b[m];
for(j=0;j<n;j++){
fin>>a[j];
}
for(j=0;j<m;j++){
fin>>b[j];
}
for(j=0;j<m;j++){
while(b[j]>0&&i<n){
b[j]=b[j]-a[i];
i++;
}
if(b[j]<0||(b[j]>0&&i==n)){
ok=0;
break;
}
ok=1;
}
if(ok==1){
cout<<"DA";
}
else{
cout<<"NU";
}
return 0;
}