using System;
using System.Diagnostics;
struct Struct
{
public int X;
public int Y;
public Struct(int x, int y)
{
X = x; Y = y;
}
}
class Hoge
{
public static void Main()
{
Struct s = default(Struct);
Stopwatch sw = new Stopwatch();
sw.Start();
int total = 0;
for (int i = 0; i < 100*100000; ++i)
{
s = new Struct(i, i*2);
total += s.X;
total += s.Y;
}
sw.Stop();
Console.WriteLine("" + total + " " + s.Y + " " + sw.ElapsedMilliseconds);
total = 0;
sw.Reset();
sw.Start();
for (int i = 0; i < 100 * 100000; ++i)
{
s.X = i;
s.Y = i*2;
total += s.X;
total += s.Y;
}
sw.Stop();
Console.WriteLine("" + total + " " + s.Y + " " + sw.ElapsedMilliseconds);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3M7CgogICAgc3RydWN0IFN0cnVjdAogICAgewogICAgICAgIHB1YmxpYyBpbnQgWDsKICAgICAgICBwdWJsaWMgaW50IFk7CgogICAgICAgIHB1YmxpYyBTdHJ1Y3QoaW50IHgsIGludCB5KQogICAgICAgIHsKICAgICAgICAgICAgWCA9IHg7IFkgPSB5OwogICAgICAgIH0KICAgIH0KCiAgICBjbGFzcyBIb2dlCiAgICB7CiAgICAgICAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQogICAgICAgIHsKICAgICAgICAgICAgU3RydWN0IHMgID0gZGVmYXVsdChTdHJ1Y3QpOwoKICAgICAgICAgICAgU3RvcHdhdGNoIHN3ID0gbmV3IFN0b3B3YXRjaCgpOwogICAgICAgICAgICBzdy5TdGFydCgpOwoKICAgICAgICAgICAgaW50IHRvdGFsID0gMDsKCiAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTAwKjEwMDAwMDsgKytpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzID0gbmV3IFN0cnVjdChpLCBpKjIpOwogICAgICAgICAgICAgICAgdG90YWwgKz0gcy5YOwogICAgICAgICAgICAgICAgdG90YWwgKz0gcy5ZOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzdy5TdG9wKCk7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCIiICsgdG90YWwgKyAiICIgKyBzLlkgKyAiICAiICsgc3cuRWxhcHNlZE1pbGxpc2Vjb25kcyk7CiAgICAgICAgICAgIAogICAgICAgICAgICB0b3RhbCA9IDA7CgogICAgICAgICAgICBzdy5SZXNldCgpOwogICAgICAgICAgICBzdy5TdGFydCgpOwoKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDAgKiAxMDAwMDA7ICsraSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcy5YID0gaTsKICAgICAgICAgICAgICAgIHMuWSA9IGkqMjsKCiAgICAgICAgICAgICAgICB0b3RhbCArPSBzLlg7CiAgICAgICAgICAgICAgICB0b3RhbCArPSBzLlk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHN3LlN0b3AoKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIiIgKyB0b3RhbCArICIgIiArIHMuWSArICIgICIgKyBzdy5FbGFwc2VkTWlsbGlzZWNvbmRzKTsKICAgICAgICB9CiAgICB9