Pagini recente » Cod sursa (job #1440762) | Cod sursa (job #1858657) | Cod sursa (job #2703282) | Cod sursa (job #966959) | Cod sursa (job #2792048)
#include <iostream>
#include <stdio.h>
using namespace std;
int main(){
FILE *fin, *fout;
int st, dr, ok, valmax;
long long s, prod1, prod2;
fin = fopen("dartz.in", "r");
fscanf(fin, "%lld", &s);
fclose( fin );
s /= 2;
valmax = 1;
while (1ll * valmax * (valmax + 1) * (valmax + 2) < s)
valmax++;
st = 1; dr = valmax - 1;
ok = 0;
while (!ok) {
prod1 = 1ll * st * (st + 1) * (st + 2);
prod2 = 1ll * dr * (dr + 1) * (dr + 2);
if (prod1 + prod2 > s)
dr--;
else if (prod1 + prod2 < s)
st++;
else
ok = 1;
}
fout = fopen("dartz.out", "w");
fprintf(fout, "%d %d %d %d", st, dr, st, dr);
fclose( fout );
return 0;
}