Problem E: time => 140ms 👉 my solution 👉 C# code: using System.Formats.Asn1; using System.Text; namespace MyFirstCS{ class Program{ static void Main(string[] args){ int T = int.Parse(Console.ReadLine()); while(T > 0){ T--; int[] numbers = Array.ConvertAll(Console.ReadLine().Split(" "),int.Parse); int l = numbers[0]; // 19 int r = numbers[1]; // 84 int answer = 0; // 3 int templ = l; while(templ > 0){ answer++; templ /= 3; } answer *= 2; // as we will multiply another number by 3 the same number of times we divide this l // 6 l++; // 20 int start = 3; // while(start < l){start *=3;} // 27 while(start + 1 ==> as both l and r are inclusive Console.WriteLine(answer); } } static int log3(int number){ if(number == 1)return 1; int ans = 0; while(number > 1){ number /= 3; ans++; } return ans; // return Math.Ceiling(Math.Log(number) / Math.Log(3)); // ==> log x / log y = logy(x) } } }
@mariorafat49142 ай бұрын
my sol for c: void solve() { string s, t; cin >> s >> t; int j = 0; for (int i = 0; i < s.size(); i++) { if (s[i] == t[j]) j++; else if (s[i] == '?' && j != t.size()) { s[i] = t[j]; j++; } else if (s[i] == '?' && j == t.size()) { s[i] = 'a'; } } if (j == t.size()) cout