Pagini recente » Cod sursa (job #1929741) | Cod sursa (job #2098450) | Cod sursa (job #598200) | Cod sursa (job #3188379) | Cod sursa (job #649441)
Cod sursa(job #649441)
#include <fstream>
#include <vector>
#define INFILE "ssm.in"
#define OUTFILE "ssm.out"
using namespace std;
int main()
{
vector<int> v;
int n;
ifstream fin(INFILE);
ofstream fout(OUTFILE);
fin >> n;
int k;
for (int i = 0; i < n ; ++i) {
fin >> k;
v.push_back(k);
}
fin.close();
int maxfirstpos = 0;
int firstpos = 0;
int lastpos = 0;
int max = v[0];
int sum = 0;
int i = 0;
for(vector<int>::iterator it = v.begin(); it != v.end(); ++it, ++i) {
if(sum == 0)
firstpos = i;
sum += *it;
if (sum < 0)
sum = 0;
if (sum > max) {
lastpos = i;
maxfirstpos = firstpos;
max = sum;
}
}
fout << max << " " << maxfirstpos + 1 << " " << lastpos + 1;
fout.close();
return 0;
}