Pagini recente » Cod sursa (job #61520) | Cod sursa (job #414922) | Cod sursa (job #2042143) | Cod sursa (job #3260906) | Cod sursa (job #2859289)
#include <bits/stdc++.h>
#define nmax 30000
#define int long long
using namespace std;
const long long inf = 1e17;
int c[nmax + 1], l[nmax + 1], spst[nmax + 1], spsumst[nmax + 1], spdr[nmax + 1], spsumdr[nmax + 1], splst[nmax + 1], spldr[nmax + 1];
signed main()
{
ifstream cin("bilute.in");
ofstream cout("bilute.out");
int n, i, minn = inf, cul = 0, act;
cin >> n;
for (i = 1; i <= n; i++)
cin >> c[i] >> l[i];
for (i = 1; i <= n; i++)
spst[i] = spst[i - 1] + c[i], spsumst[i] = spsumst[i - 1] + c[i] * i, splst[i] = splst[i - 1] + l[i] * c[i];
for (i = n; i >= 1; i--)
spdr[i] = spdr[i + 1] + c[i], spsumdr[i] = spsumdr[i + 1] + c[i] * i, spldr[i] = spldr[i + 1] + l[i] * c[i];
for (i = 1; i <= n; i++)
{
act = spst[i - 1] * i - spsumst[i - 1] + spsumdr[i + 1] - spdr[i + 1] * i + splst[i - 1] + spldr[i + 1];
if (act < minn)
minn = act, cul = i;
}
cout << cul << " " << minn;
return 0;
}