Cod sursa(job #379010)
| Utilizator | Data | 30 decembrie 2009 12:04:59 | |
|---|---|---|---|
| Problema | Datorii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<fstream.h>
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n,m,d,tp,qv,i,j,sa,s,v[15001];
int sum(int yu,int mn)
{
sa=0;
while((yu<tp+(qv-tp+1)/2)&&(mn>qv-(qv-tp+1)/2))
{
sa=sa+v[yu]+v[mn];
yu++;
mn--;
}
if((qv-tp+1)%2==1)
sa=sa+v[(qv-tp+1)/2+1];
return sa;
}
int main()
{
fin>>n>>m;
for(i=1;i<=n;i++)
fin>>v[i];
for(i=1;i<=m;i++)
{
fin>>d>>tp>>qv;
if(d==1)
fout<<sum(tp,qv)<<'\n';
else
v[tp]=v[tp]-qv;
}
return 0;
}