Problema #1905 de pe pbinfo va rog.
Răspunsuri la întrebare
Răspuns:
#include <fstream>
using namespace std;
ifstream f("snooker1.in");
ofstream g("snooker1.out");
int fr[5];
int v[1005];
int t[1005],k;
int main()
{ int n;
f>>n;
int r=1,lgm=0,lg=1;
for(int i=0; i<n; i++) f>>v[i];
if(v[0]>0) t[k++]=1;
else t[k++]=0;
for(int i=1; i<n; i++)
{ if(v[i-1]==0 || v[i-1]==-5)
if(r==1) r=2;
else r=1;
fr[r]+=v[i];
if(v[i]>0) t[k++]=1;
else t[k++]=0;
}
g<<((fr[1]>fr[2]) ? 1 : 2)<<'\n';
int st=0,dr=0;
for(int i=1; i<=k; i++)
if(!t[i-1] && t[i]) st=dr=i;
else
if(t[i-1] && !t[i])
{ int lg=dr-st+1;
if(lg>lgm && v[i]!=-5) lgm=lg;
}
else if(t[i]==t[i-1] && t[i]) dr++;
g<<lgm;
return 0;
}
Explicație: