Pagini recente » Cod sursa (job #3330050) | Cod sursa (job #3305949) | Diferente pentru utilizator/mr.dynamite intre reviziile 7 si 6 | Cod sursa (job #3330052) | Cod sursa (job #3305946)
#include <fstream>
#include <vector>
#include <climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main(){
int n; int num, culoare; bool of = false;
fin >> n;
vector<int> v(n);
int ssecv = -1; int secvi = 0;
int ssmax = INT_MIN; int smaxi, smaxj;
for (int i = 1; secvi != i; i++){
if (i > n){
i = 0;
of = true;
}
if (!(fin >> num >> culoare)) num = v[i-1];
else {
num *=1-(!culoare*2);
v[i-1] = num;
}
if (ssecv < 0){
if (of) break;
ssecv = 0;
secvi = i;
} ssecv += num;
if (ssecv > ssmax){
ssmax = ssecv;
smaxi = secvi;
smaxj = i;
}
}
fout << ssmax << " " << smaxi << " " << (smaxj+n-smaxi)%n+1;
return 0;
}