Mai intai trebuie sa te autentifici.
Cod sursa(job #3167304)
| Utilizator | Data | 10 noiembrie 2023 16:22:32 | |
|---|---|---|---|
| Problema | Buline | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 1.43 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
struct buline
{
int value;
friend istream& operator>>(istream& os, buline &var)
{
short type;
os>>var.value>>type;
if(!type)
var.value *= -1;
return os;
}
};
struct answer
{
int value;
short start;
short length;
friend ostream& operator<<(ostream& os, answer ans)
{
os<<ans.value<<' '<<ans.start<<' '<<ans.length;
}
} ans;
int n;
short v[200001];
short x;
int leftie;
int i;
int mem;
int main()
{
fin>>n;
buline aux;
fin>>aux;
ans = {aux.value, 1, 1};
/*v.push_back(aux.value);
for( i = 2; i <= n; i++)
{
fin>>aux;
x = aux.value;
if(v.back() + x > x)
v.push_back(v.back() + x);
else
leftie=i,v.push_back(x);
if(v.back() > ans.value)
ans = {v.back(), leftie, i - leftie + 1};
}/*
if(ans.length < n)
{
mem = v.back() + v[0];
if(ans.value < mem)
ans.value = mem, ans.length = ans.length + 1;
for( i = 1; i < leftie - 1; i++)
{
if(mem + v[i] > v[i])
mem += v[i];
if(ans.value < mem)
ans.value = mem, ans.length = ans.length + i + 1;
}
}
*/
fout<<ans;
return 0;
}
