using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
namespace ConsoleApplication138
{
internal class Program
{
private const int N = 1000000;
private static void Main(string[] args)
{
long trash = 0;
const int a1 = 0, a2 = 1, b = 10;
var result = new long[2][];
for (int i = 0; i < result.Length; i++)
{
result[i] = new long[N];
}
for (int i = 0; i < N; i++)
{
var sw = Stopwatch.StartNew();
int c = Log(a1, b);
int d = Log(a2, b);
sw.Stop();
trash += c + d;
result[0][i] = sw.ElapsedTicks;
var sw2 = Stopwatch.StartNew();
c = Ariph(a1, b);
d = Ariph(a2, b);
sw2.Stop();
trash += c + d;
result[1][i] = sw2.ElapsedTicks;
}
Console.WriteLine(trash);
Console.WriteLine("res1 = {0}", result[0].Average());
Console.WriteLine("res2 = {0}", result[0].Average());
Console.ReadKey();
}
private static int Log(int a, int b)
{
return a == 0 ? b : a;
}
private static int Ariph(int a, int b)
{
return a - a*a*b + b;
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlczsKdXNpbmcgU3lzdGVtLlRleHQ7CgpuYW1lc3BhY2UgQ29uc29sZUFwcGxpY2F0aW9uMTM4CnsKICAgIGludGVybmFsIGNsYXNzIFByb2dyYW0KICAgIHsKICAgICAgICBwcml2YXRlIGNvbnN0IGludCBOID0gMTAwMDAwMDsKCiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICAgICAgewogICAgICAgICAgICBsb25nIHRyYXNoID0gMDsKICAgICAgICAgICAgY29uc3QgaW50IGExID0gMCwgYTIgPSAxLCBiID0gMTA7CiAgICAgICAgICAgIHZhciByZXN1bHQgPSBuZXcgbG9uZ1syXVtdOwogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHJlc3VsdC5MZW5ndGg7IGkrKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcmVzdWx0W2ldID0gbmV3IGxvbmdbTl07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBzdyA9IFN0b3B3YXRjaC5TdGFydE5ldygpOwogICAgICAgICAgICAgICAgaW50IGMgPSBMb2coYTEsIGIpOwogICAgICAgICAgICAgICAgaW50IGQgPSBMb2coYTIsIGIpOwogICAgICAgICAgICAgICAgc3cuU3RvcCgpOwogICAgICAgICAgICAgICAgdHJhc2ggKz0gYyArIGQ7CiAgICAgICAgICAgICAgICByZXN1bHRbMF1baV0gPSBzdy5FbGFwc2VkVGlja3M7CgogICAgICAgICAgICAgICAgdmFyIHN3MiA9IFN0b3B3YXRjaC5TdGFydE5ldygpOwogICAgICAgICAgICAgICAgYyA9IEFyaXBoKGExLCBiKTsKICAgICAgICAgICAgICAgIGQgPSBBcmlwaChhMiwgYik7CiAgICAgICAgICAgICAgICBzdzIuU3RvcCgpOwogICAgICAgICAgICAgICAgdHJhc2ggKz0gYyArIGQ7CiAgICAgICAgICAgICAgICByZXN1bHRbMV1baV0gPSBzdzIuRWxhcHNlZFRpY2tzOwogICAgICAgICAgICB9CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHRyYXNoKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoInJlczEgPSB7MH0iLCByZXN1bHRbMF0uQXZlcmFnZSgpKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoInJlczIgPSB7MH0iLCByZXN1bHRbMF0uQXZlcmFnZSgpKTsKICAgICAgICAgICAgQ29uc29sZS5SZWFkS2V5KCk7CiAgICAgICAgfQoKICAgICAgICBwcml2YXRlIHN0YXRpYyBpbnQgTG9nKGludCBhLCBpbnQgYikKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhID09IDAgPyBiIDogYTsKICAgICAgICB9CgogICAgICAgIHByaXZhdGUgc3RhdGljIGludCBBcmlwaChpbnQgYSwgaW50IGIpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gYSAtIGEqYSpiICsgYjsKICAgICAgICB9CiAgICB9Cn0=