|  | 
|  | 
| back to board | WA 4 Memory limit exceeded C# Posted by Daniil  31 May 2022 12:02using System;
 class Progran
 {
 public static void Main()
 {
 int Size = int.Parse(Console.ReadLine());
 sbyte[] FirstNumber = new sbyte[Size + 1];
 
 for (int i = 0; i < Size; i++)
 {
 string[] s = Console.ReadLine().Split(' ');
 FirstNumber[i + 1] = (SByte)(sbyte.Parse(s[0]) + sbyte.Parse(s[1]));
 }
 
 for (int i = Size; i > 0; i--)
 if (FirstNumber[i] >= 10)
 {
 FirstNumber[i - 1]++;
 FirstNumber[i] -= 10;
 }
 
 for (int i = 0; i < Size; i++)
 Console.Write(FirstNumber[i + 1]);
 
 }
 }
 
 Edited by author 31.05.2022 12:17
 
 I ported this code to c++ and got AC ?!
 
 Edited by author 31.05.2022 15:01
Re: WA 4 Memory limit exceeded C# I finally got accepted it on a C#!! Main memory issue here are always any Strings! Awoid using Console.ReadLine() in cycle. For some reason, .net sometimes does not use string interning. I got below accepted using only Console.Read() byte-by-byte:
 class Program
 {
 static int N = 0;
 static byte[] Digs1 = null;
 static char m_Zero = '0';
 
 static void _ReadData()
 {
 string v_Str = Console.ReadLine();
 if (v_Str == null) return false;
 N = Int32.Parse(v_Str);
 Digs1 = new byte[N];
 int v_TmpVal = 0;
 
 // Fill Digs
 for (int i = 0; i < N; i++)
 {
 v_TmpVal = Console.Read();
 Digs1[i] = (byte)(Convert.ToChar(v_TmpVal) - m_Zero);
 Console.Read();
 v_TmpVal = Console.Read();
 Digs1[i] += (byte)((Convert.ToChar(v_TmpVal) - m_Zero) * 10);
 Console.Read(); //#13
 Console.Read(); //#10
 }
 static void SolveProblem()
 {
 bool v_AddOne = false;
 bool v_NextAddOne = false;
 byte v_First = 0;
 byte v_Second = 0;
 
 for (int i = Digs1.Length - 1; i >= 0; i--)
 {
 v_First = (byte)(Digs1[i] % 10);
 v_Second = (byte)(Digs1[i] / 10);
 
 v_AddOne = (v_First + v_Second + (v_NextAddOne ? 1 : 0)) > 9;
 
 Digs1[i] = (byte)((v_First + v_Second + (v_NextAddOne ? 1 : 0)) % 10);
 v_NextAddOne = v_AddOne;
 }
 }
 static void Main(string[] args)
 { _ReadData(); SolveProblem();
 
 for (int i = 0; i < N; i++)
 {
 Console.Write(Digs1[i]);
 }
 }
Re: WA 4 Memory limit exceeded C# Hi, I`m happy for you. And it`s great that you are sharing your thoughts.However, you are not helping anyone by posting your code.
 Please don`t do it, and we all will be happier.
 | 
 | 
|