Codeforces round 1061 D
Разница между en1 и en2, 4 символ(ов) изменены
~~~~~↵


static ArrayList<Integer> qu= new ArrayList<>();↵
    static void pre(int n)↵
    {↵
        int i=1;↵
        while(i<= n)↵
        {↵
            qu.add(i);↵
            i*=2;↵
        }↵
    }↵
    static void solve(int cct, int tcc) throws IOException {↵

        int n= in.nextInt();↵
        pre(n);↵
        HashSet<Integer> fin= new HashSet<>();↵
        HashSet<Integer> one = new HashSet<>();↵
        HashSet<Integer>zero = new HashSet<>();↵
        StringBuilder ans= new StringBuilder();↵
        for(int i=1;i<n;i++)↵
        {↵
            fin.add(i);↵
        }↵
        int sc=1;↵
        for(int i : qu)↵
        {↵

            for(int j : fin)↵
            {↵
                out.println("? "+j+" "+i);↵
                out.flush();↵
                int x = in.nextInt();↵
                if(x==0)zero.add(j);↵
                else↵
                    one.add(j);↵

            }↵
//            out.print(zero);↵
//            out.println(one);↵


            if(zero.size()<one.size())↵
            {↵
                ans.insert(0, '0');↵

                fin=zero;↵
                if(fin.isEmpty()){↵
                    break;↵
                }↵
            }↵
            else if(zero.size()== one.size())↵
            {↵
                ans.insert(0,sc);↵
                if(sc==0)↵
                    fin=zero;↵
                else↵
                    fin=one;↵
            }↵
            else↵
            {↵
                ans.insert(0, '1');↵
                fin=one;↵
                if(fin.isEmpty()){↵
                    ans.insert(0,'0');↵
                    break;↵
                }↵

            }↵
            sc++;↵
            sc= sc%2;↵


            one=new HashSet<>();↵
            zero=new HashSet<>();↵
//            out.println(fin);↵
//            out.println(ans);↵
        }↵
//        out.println(ans);↵
        String a ="";↵
        for(int i=0;i<ans.length();i++)↵
        {↵
            if(ans.charAt(i)=='1')↵
            {↵
                a=ans.substring(i);↵
                break;↵
            }↵
        }↵

            int number = Integer.parseInt(a, 2);↵
            out.println("! "+number);↵



        out.flush();↵
//        1 2 4 3 5↵



    }~~~~~↵
Can someone please let me know whats wrong with this solution of D ????↵

It is failing for 1 2 3 4 5 But on IDE i got correct answer↵

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en2 Английский -delta 2025-10-25 10:32:06 4 Tiny change: '~~~~~\nstatic A' -> '~~~~~\n\n\nstatic A'
en1 Английский -delta 2025-10-25 10:31:50 2409 Initial revision (published)