Pagini recente » Cod sursa (job #1265585) | Cod sursa (job #2777228) | Cod sursa (job #3271320) | Cod sursa (job #2811432) | Cod sursa (job #1248212)
// ConsoleApplication5.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <fstream>
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
int sum(int m[200]; int nod; int st; int dr; int a; int b;int s)
{
if (a<st && b>dr)
s+= m[nod];
else {
int mij = (st + dr) / 2;
if (a < mij)
{
sum(int m[200]; int 2 * nod; int st; int mij; int a; int b; int s)
}
else sum(int m[200]; int 2 * nod + 1; int mij + 1; int dr; int a; int b; int s)
return s;
}
int _tmain(int argc, _TCHAR* argv[])
{
int n, m, x, y, i, s, v[100],m[200];
fin >> n;
fin >> m;
for (i = 0; i < n; i++)
fin >> v[i];
i = 1;
while (i < n)
{
i *= 2;
}
for (s = n; s < i; i++)
v[s] = 0;
for (s = i ; s<2i ; s++)
m[s] = v[s - i ];
n = i;
while (i>1)
{
y = i - 1;
for (s = (i - 1) / 2; s <= y; y++)
m[s] = m[2 * s ] + m[2 * s + 1];
i = (i - 1) / 2;
}
m[1] = m[2] + m[3];
while (fin>>i)
if (i)
{
fin >> x;
fin >> y;
s = 0;
fout << sum(int m[200]; int 1; int 1; int 2n - 1; int x; int y; int s);
}
else {
fin >> x;
fin >> y;
v[x - 1] -= y;
if (v[x - 1]<0)
v[x - 1] = 0;
}
fin.close();
fout.close();
return 0;
}