#include "message.h"
#include "maklib.h"
#include <iostream>
using namespace std;
int main() {
long long suma=0, maksSuma=0, temp=0;;
int ilosc=Size()+1;
int id = MyNodeId();
int number = NumberOfNodes();
for(int i=1+id; i<ilosc; i+=number)
{
if(ElementAt(i)<=0)continue;
suma=0;
for(int j=i; j<ilosc; j++)
{
suma+=ElementAt(j);
if(suma>maksSuma)maksSuma=suma;
}
}
if (id > 0) {
PutLL(0, maksSuma);
Send(0);
} else {
for (int instancja = 1; instancja < number; ++instancja) {
Receive(instancja);
temp = GetLL(instancja);
if(temp>maksSuma)maksSuma=temp;
}
cout << maksSuma;
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include "message.h" #include "maklib.h" #include <iostream> using namespace std; int main() { long long suma=0, maksSuma=0, temp=0;; int ilosc=Size()+1; int id = MyNodeId(); int number = NumberOfNodes(); for(int i=1+id; i<ilosc; i+=number) { if(ElementAt(i)<=0)continue; suma=0; for(int j=i; j<ilosc; j++) { suma+=ElementAt(j); if(suma>maksSuma)maksSuma=suma; } } if (id > 0) { PutLL(0, maksSuma); Send(0); } else { for (int instancja = 1; instancja < number; ++instancja) { Receive(instancja); temp = GetLL(instancja); if(temp>maksSuma)maksSuma=temp; } cout << maksSuma; } } |
English