criyle/codenet-compile-errors huggingface dataset:
Language: Java

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

public class Main{
  public static void main(String[] args){
    List<Double> list = new ArrayList<Double>();
    List<Integer> counter = new ArrayList<Integer>();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      	for (int i = 0; i < list.size - 1; i++) {
        	for (int j = i + 1; j < list.size; j++) {
            	double x = list.get(i) * list.get(j);
            	if((x == Math.floor(x)) && !Double.isInfinite(x)) {
            		counter.add(x);
            	} 
          }
      }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:14: error: cannot find symbol
      	for (int i = 0; i < list.size - 1; i++) {
      	                        ^
  symbol:   variable size
  location: variable list of type List<Double>
Main.java:15: error: cannot find symbol
        	for (int j = i + 1; j < list.size; j++) {
        	                            ^
  symbol:   variable size
  location: variable list of type List<Double>
Main.java:18: error: incompatible types: double cannot be converted to Integer
            		counter.add(x);
            		            ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
3 errors
Language: Java

import java.util.Scanner;
import java.util.ArrayList;

public class Main{
  public static void main(String[] args){
    List<Double> list = new ArrayList<Double>();
    List<Integer> counter = new ArrayList<Integer>();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      	for (int i = 0; i < list.size - 1; i++) {
        	for (int j = i + 1; j < list.size; j++) {
            	double x = list.get(i) * list.get(j);
            	if((x == Math.floor(x)) && !Double.isInfinite(x)) {
            		counter.add(x);
            	} 
          }
      }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:6: error: cannot find symbol
    List<Double> list = new ArrayList<Double>();
    ^
  symbol:   class List
  location: class Main
Main.java:7: error: cannot find symbol
    List<Integer> counter = new ArrayList<Integer>();
    ^
  symbol:   class List
  location: class Main
2 errors
Language: Java

import java.util.Scanner;
import java.util.ArrayList;

public class Main{
  public static void main(String[] args){
    List<double> list = new ArrayList<double>();
    List<Int> counter = new ArrayList<Int>();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      	for (int i = 0; i < list.size - 1; i++) {
        	for (int j = i + 1; j < list.size; j++) {
            	double x = list.get(i) * list.get(j);
            	if((x == Math.floor(x)) && !Double.isInfinite(x)) {
            		counter.add(x);
            	} 
          }
      }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:6: error: cannot find symbol
    List<double> list = new ArrayList<double>();
    ^
  symbol:   class List
  location: class Main
Main.java:6: error: unexpected type
    List<double> list = new ArrayList<double>();
         ^
  required: reference
  found:    double
Main.java:6: error: unexpected type
    List<double> list = new ArrayList<double>();
                                      ^
  required: reference
  found:    double
Main.java:7: error: cannot find symbol
    List<Int> counter = new ArrayList<Int>();
    ^
  symbol:   class List
  location: class Main
Main.java:7: error: cannot find symbol
    List<Int> counter = new ArrayList<Int>();
         ^
  symbol:   class Int
  location: class Main
Main.java:7: error: cannot find symbol
    List<Int> counter = new ArrayList<Int>();
                                      ^
  symbol:   class Int
  location: class Main
6 errors
Language: Java

import java.util.Scanner;
import java.util.ArrayList;

public class Main{
  public static void main(String[] args){
    List<double> list = new ArrayList<double>();
    List<Int> counter = new ArrayList<Int>();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      	for (int i = 0; i < list.size - 1; i++) {
        	for (int j = i + 1; j < list.size; j++) {
            	double x = list.get(i) * list.get(j);
            	if((x == Math.int(x)) && !Double.isInfinite(x)) {
            		counter.add(x);
            	} 
          }
      }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:16: error: <identifier> expected
            	if((x == Math.int(x)) && !Double.isInfinite(x)) {
            	              ^
Main.java:16: error: ';' expected
            	if((x == Math.int(x)) && !Double.isInfinite(x)) {
            	                 ^
Main.java:16: error: not a statement
            	if((x == Math.int(x)) && !Double.isInfinite(x)) {
            	                  ^
Main.java:16: error: ';' expected
            	if((x == Math.int(x)) && !Double.isInfinite(x)) {
            	                   ^
Main.java:16: error: ';' expected
            	if((x == Math.int(x)) && !Double.isInfinite(x)) {
            	                                              ^
5 errors
Language: Java

import java.util.Scanner;
import java.util.ArrayList;

public class Main{
  public static void main(String[] args){
    List<double> list = new ArrayList<double>();
    List<Int> counter = new ArrayList<Int>();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      	for (int i = 0; i < list.size - 1; i++) {
        	for (int j = i + 1; j < list.size; j++) {
            	double x = list.get(i) * list.get(j);
            	if(int(x) == x) {
            		counter.add(x);
            	} else {

		}
          }
      }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:16: error: '.class' expected
            	if(int(x) == x) {
            	      ^
Main.java:16: error: not a statement
            	if(int(x) == x) {
            	          ^
Main.java:16: error: ';' expected
            	if(int(x) == x) {
            	              ^
Main.java:18: error: 'else' without 'if'
            	} else {
            	  ^
4 errors
Language: C++

#include <bits/stdc++.h>
using namespace std;

int main () {
    int N;
    cin >> N;
    vector <double>vec(N);
    for (int i=0; i<N; i++) {
        cin >> vec.at(i);
    }

    int count=0;
    
    for (int i=0; i<N; i++) {
        for (int j=0; j<N; j++) {
            if (i!=j) {
                if (vec.at(i)*vec.at(j)%1.0==0.0) {
                    count++;
                }
            }
        }
    }
    cout << count << endl;
}
         


Compiler output:
a.cc: In function 'int main()':
a.cc:17:40: error: invalid operands of types '__gnu_cxx::__alloc_traits<std::allocator<double>, double>::value_type' {aka 'double'} and 'double' to binary 'operator%'
   17 |                 if (vec.at(i)*vec.at(j)%1.0==0.0) {
      |                     ~~~~~~~~~~~~~~~~~~~^~~~
      |                              |          |
      |                              |          double
      |                              __gnu_cxx::__alloc_traits<std::allocator<double>, double>::value_type {aka double}
Language: C++

#include <bits/stdc++.h>
using namespace std;

int main () {
    int N;
    cin >> N;
    vector <double>vec(N);
    for (int i=0; i<N; i++) {
        cin >> vec.at(i);
    }

    int count=0;
    
    for (int i=0; i<N; i++) {
        for (int j=0; j<N; j++) {
            if (i!=j) {
                if (vec.at(i)*vec.at(j)%1==0.0) {
                    count++;
                }
            }
        }
    }
    cout << count << endl;
}
         

Compiler output:
a.cc: In function 'int main()':
a.cc:17:40: error: invalid operands of types '__gnu_cxx::__alloc_traits<std::allocator<double>, double>::value_type' {aka 'double'} and 'int' to binary 'operator%'
   17 |                 if (vec.at(i)*vec.at(j)%1==0.0) {
      |                     ~~~~~~~~~~~~~~~~~~~^~
      |                              |          |
      |                              |          int
      |                              __gnu_cxx::__alloc_traits<std::allocator<double>, double>::value_type {aka double}
Language: Java

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;

public class Main{
  public static void main(String[] args){
    List<Double> list = new ArrayList<Double>();
    List<Integer> counter = new ArrayList<Integer>();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      	for (int i = 0; i < list.size - 1; i++) {
        	for (int j = i + 1; j < list.size; j++) {
            	double x = list.get(i) * list.get(j);
            	if(int(x) == x) {
            		counter.add(x);
            	} else {

		}
          }
      }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:18: error: '.class' expected
            	if(int(x) == x) {
            	      ^
Main.java:18: error: not a statement
            	if(int(x) == x) {
            	          ^
Main.java:18: error: ';' expected
            	if(int(x) == x) {
            	              ^
Main.java:20: error: 'else' without 'if'
            	} else {
            	  ^
4 errors
Language: C++

#include <bits/stdc++.h>
using namespace std;

long long N; string arr[200010],dot=".";
vector<long long> zer,five[20],two[20];

void Input(){
	cin>>N;
	for(long long i=0; i<N; i++){
		cin>>arr[i];
	}
}

long long stringToText(string a){
	long long total=0;
	for(long long i=0; i<a.length(); i++){
		total*=10;
		total+=a[i]-'0';
	}
	return total;
}

void Change(){
	for(long long i=0; i<N; i++){
		long long pos=arr[i].find(dot); long long dec=0,len arr[i].length();
		if(pos<len)dec=len-pos-1;
		if(dec!=0)arr[i].erase(pos,1);
		long long curr=stringToText(arr[i]);
		while(curr%10==0){
			dec--; curr/=10;
		}
		long long type=-1,sum=0;
		while(curr%2==0){
			type=0; sum++;
			curr/=2;
		}
		while(curr%5==0){
			type=1; sum++;
			curr/=5;
		}
		//cout<<i<<" "<<dec<<" "<<sum<<" ";
		if(type==0){
			two[sum].push_back(dec);
			//cout<<"two"<<'\n';
		}else if(type==1){
			five[sum].push_back(dec);
			//cout<<"five"<<'\n';
		}else{
			zer.push_back(dec);
			//cout<<"zer"<<'\n';
		}
	}
}

void Sorting(){
	for(long long i=0; i<15; i++){
		sort(two[i].begin(),two[i].end());
		sort(five[i].begin(),five[i].end());
	}
	sort(zer.begin(),zer.end());
}

long long SolveZer(){
	long long sum=0,zerosize=zer.size();
	for(long long i=0; i<zerosize; i++){
		long long l=i+1,r=zerosize-1,total=i;
		while(l<=r){
			long long mid=(l+r)/2;
			if(zer[i]+zer[mid]<=0){
				total=mid; l=mid+1;
			}else{
				r=mid-1;
			}
		}
		sum+=total-i;
	}
	for(long long i=0; i<zerosize; i++){
		for(long long j=0; j<15; j++){
			if(two[j].empty())continue;
			long long l=0,r=two[j].size()-1,total=-1;
			while(l<=r){
				long long mid=(l+r)/2;
				if(zer[i]+two[j][mid]<=0){
					total=mid; l=mid+1;
				}else{
					r=mid-1;
				}
			}
			//cout<<i<<" "<<j<<" "<<total<<'\n';
			sum+=total+1;
		}
	}
	for(long long i=0; i<zerosize; i++){
		for(long long j=0; j<15; j++){
			if(five[j].empty())continue;
			long long l=0,r=five[j].size()-1,total=-1;
			while(l<=r){
				long long mid=(l+r)/2;
				if(zer[i]+five[j][mid]<=0){
					total=mid; l=mid+1;
				}else{
					r=mid-1;
				}
			}
			//cout<<i<<" "<<j<<" "<<total<<'\n';
			sum+=total+1;
		}
	}
	return sum;
}

long long SolveRest(){
	long long sum=0;
	for(long long i=0; i<15; i++){
		if(two[i].empty())continue;
		for(long long j=0; j<two[i].size(); j++){
			for(long long k=0; k<15; k++){
				if(five[k].empty())continue;
				long long l=0,r=five[k].size(),total=-1;
				while(l<=r){
					long long mid=(l+r)/2;
					if(two[i][j]+five[k][mid]<=min(i,k)){
						total=mid; l=mid+1;
					}else{
						r=mid-1;
					}
				}
				//cout<<i<<" "<<j<<" "<<k<<" "<<total<<'\n';
				sum+=total+1;
			}
		}
	}
	return sum;
}

void Solve(){
	Change();
	Sorting();
	cout<<SolveZer()+SolveRest()<<'\n';
}

int main(){
	Input();
	Solve();
}

Compiler output:
a.cc: In function 'void Change()':
a.cc:25:69: error: expected initializer before 'arr'
   25 |                 long long pos=arr[i].find(dot); long long dec=0,len arr[i].length();
      |                                                                     ^~~
a.cc:26:24: error: 'len' was not declared in this scope
   26 |                 if(pos<len)dec=len-pos-1;
      |                        ^~~
Language: C

#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize("Ofast", "unroll-loops", "omit-frame-pointer", "inline", "tree-vectorize", "predictive-commoning")
#pragma GCC option("arch=native", "tune=native", "no-zero-upper", "D_GLIBCXX_PARALLEL")
#include <stdio>
int n;
long long a[200001];
double d;
int mod = 1e9;
int main()
{
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    scanf("%lf", &d);
    a[i] = d * 1e9;
    a[i] %= mod;
  }
  long long res = 0;
  for (int i = 0; i < n; ++i) {
    for (int j = i + 1; i < n; ++j) {
      if ((a[i] * a[j]) % mod == 0)
        ++res;
    }
  }
}

Compiler output:
main.c:4:10: fatal error: stdio: No such file or directory
    4 | #include <stdio>
      |          ^~~~~~~
compilation terminated.
Language: C++

#include <bits/stdc++.H>
using namespace std;

long long N; string arr[200010],dot=".";
vector<long long> zer,five[20],two[20];

void Input(){
	cin>>N;
	for(long long i=0; i<N; i++){
		cin>>arr[i];
	}
}

long long stringToText(string a){
	long long total=0;
	for(long long i=0; i<a.length(); i++){
		total*=10;
		total+=a[i]-'0';
	}
	return total;
}

void Change(){
	for(long long i=0; i<N; i++){
		long long pos=arr[i].find(dot); long long dec=0;
		if(pos<arr[i].length())dec=arr[i].length()-pos-1;
		if(dec!=0)arr[i].erase(pos,1);
		long long curr=stringToText(arr[i]);
		while(curr%10==0){
			dec--; curr/=10;
		}
		long long type=-1,sum=0;
		while(curr%2==0){
			type=0; sum++;
			curr/=2;
		}
		while(curr%5==0){
			type=1; sum++;
			curr/=5;
		}
		//cout<<i<<" "<<dec<<" "<<sum<<" ";
		if(type==0){
			two[sum].push_back(dec);
			//cout<<"two"<<'\n';
		}else if(type==1){
			five[sum].push_back(dec);
			//cout<<"five"<<'\n';
		}else{
			zer.push_back(dec);
			//cout<<"zer"<<'\n';
		}
	}
}

void Sorting(){
	for(long long i=0; i<15; i++){
		sort(two[i].begin(),two[i].end());
		sort(five[i].begin(),five[i].end());
	}
	sort(zer.begin(),zer.end());
}

long long SolveZer(){
	long long sum=0;
	for(long long i=0; i<zer.size(); i++){
		long long l=i+1,r=zer.size()-1,total=i;
		while(l<=r){
			long long mid=(l+r)/2;
			if(zer[i]+zer[mid]<=0){
				total=mid; l=mid+1;
			}else{
				r=mid-1;
			}
		}
		sum+=total-i;
	}
	for(long long i=0; i<zer.size(); i++){
		for(long long j=0; j<15; j++){
			if(two[j].empty())continue;
			long long l=0,r=two[j].size()-1,total=-1;
			while(l<=r){
				long long mid=(l+r)/2;
				if(zer[i]+two[j][mid]<=0){
					total=mid; l=mid+1;
				}else{
					r=mid-1;
				}
			}
			//cout<<i<<" "<<j<<" "<<total<<'\n';
			sum+=total+1;
		}
	}
	for(long long i=0; i<zer.size(); i++){
		for(long long j=0; j<15; j++){
			if(five[j].empty())continue;
			long long l=0,r=five[j].size()-1,total=-1;
			while(l<=r){
				long long mid=(l+r)/2;
				if(zer[i]+five[j][mid]<=0){
					total=mid; l=mid+1;
				}else{
					r=mid-1;
				}
			}
			//cout<<i<<" "<<j<<" "<<total<<'\n';
			sum+=total+1;
		}
	}
	return sum;
}

long long SolveRest(){
	long long sum=0;
	for(long long i=0; i<15; i++){
		if(two[i].empty())continue;
		for(long long j=0; j<two[i].size(); j++){
			for(long long k=0; k<15; k++){
				if(five[k].empty())continue;
				long long l=0,r=five[k].size(),total=-1;
				while(l<=r){
					long long mid=(l+r)/2;
					if(two[i][j]+five[k][mid]<=min(i,k)){
						total=mid; l=mid+1;
					}else{
						r=mid-1;
					}
				}
				//cout<<i<<" "<<j<<" "<<k<<" "<<total<<'\n';
				sum+=total+1;
			}
		}
	}
	return sum;
}

void Solve(){
	Change();
	Sorting();
	cout<<SolveZer()+SolveRest()<<'\n';
}

int main(){
	Input();
	Solve();
}

Compiler output:
a.cc:1:10: fatal error: bits/stdc++.H: No such file or directory
    1 | #include <bits/stdc++.H>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
Language: Java

import java.io.*;
import java.math.BigDecimal;
import java.math.BigInteger;

public class A {
    static Input in = new Input(System.in);
    static PrintWriter out = new PrintWriter(System.out);

    public static void main(String[] args) {
        int N = in.nextInt();
        int[][] A = new int[40][40]; // 20 is 0
        for (int n = 0; n < N; n++) {
            BigDecimal bd = in.nextBigDecimal();
            bd = bd.multiply(BigDecimal.valueOf(1000000000));
            long l = bd.longValue();
            int t = 20;
            int f = 20;
            for (long x = l * 15625 / 2; x % 1000000000 == 0; x /= 2)
                t++;
            for (long x = l * 15625; x % 1000000000 != 0; x *= 2)
                t--;
            for (long x = l * 16384 / 5; x % 1000000000 == 0; x /= 5)
                f++;
            for (long x = l * 16384; x % 1000000000 != 0; x *= 5)
                f--;
            if (t >= 0 && f >= 0)
                A[t][f]++;
        }
        int[][] B = new int[40][40];
        for (int i = 0; i < 40; i++) for (int j = 0; j < 40; j++)
            B[i][j] = A[i][j];
        for (int i = 0; i < 40; i++) for (int j = 39; j > 0; j--)
            B[i][j - 1] += B[i][j];
        for (int i = 0; i < 40; i++) for (int j = 39; j > 0; j--)
            B[j - 1][i] += B[j][i];

        long ans = 0;
        for (int i = 1; i < 40; i++) for (int j = 1; j < 40; j++) {
            if (i >= 20 && j >= 20)
                ans += A[i][j] * (B[40 - i][40 - j] - 1);
            else
                ans += A[i][j] * B[40 - i][40 - j];
        }
        out.println(ans / 2);

        out.flush();
    }

    static class Input {
        private BufferedReader br;
        private String[] buff;
        private int index = 0;

        Input(InputStream is) {
            br = new BufferedReader(new InputStreamReader(is));
        }
        String nextLine() {
            try {
                return br.readLine();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
        String next() {
            while (buff == null || index >= buff.length) {
                buff = nextLine().split(" ");
                index = 0;
            }
            return buff[index++];
        }
        byte nextByte() {
            return Byte.parseByte(next());
        }
        short nextShort() {
            return Short.parseShort(next());
        }
        int nextInt() {
            return Integer.parseInt(next());
        }
        long nextLong() {
            return Long.parseLong(next());
        }
        float nextFloat() {
            return Float.parseFloat(next());
        }
        double nextDouble() {
            return Double.parseDouble(next());
        }
        BigInteger nextBigInteger() {
            return new BigInteger(next());
        }
        BigDecimal nextBigDecimal() {
            return new BigDecimal(next());
        }
    }
}



Compiler output:
Main.java:5: error: class A is public, should be declared in a file named A.java
public class A {
       ^
1 error
Language: C

#include <bits/stdc++.h>
using namespace std;

int main() {
  int n,m,i,j;
  double a[200000];
  
  cin >> n;
  for(i=0;i<n;i++){
    cin >> a[i];
  }

  m=0;
  for(i=0;i<n-1;i++){
    if(a[i]==1.0){m++;}
    for(j=i+1;j<n;j++){
      if(a[i]*a[j]==1.0){m++;}
    }
  }
  
  printf("%d",m);
  
  return 0;
}

Compiler output:
main.c:1:10: fatal error: bits/stdc++.h: No such file or directory
    1 | #include <bits/stdc++.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
Language: Java

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;

public class Main{
  public static void main(String[] args){
    List<Double> list = new ArrayList<Double>();
    List<Integer> counter = new ArrayList<Integer>();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      	for (int i = 0; i < list.size - 1; i++) {
        	for (int j = i + 1; j < list.size; j++) {
            	double x = list.get(i) * list.get(j);
            	if(x == (int)x) {
            		counter.add(x);
            	} else {

		}
          }
      }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:15: error: cannot find symbol
      	for (int i = 0; i < list.size - 1; i++) {
      	                        ^
  symbol:   variable size
  location: variable list of type List<Double>
Main.java:16: error: cannot find symbol
        	for (int j = i + 1; j < list.size; j++) {
        	                            ^
  symbol:   variable size
  location: variable list of type List<Double>
Main.java:19: error: incompatible types: double cannot be converted to Integer
            		counter.add(x);
            		            ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
3 errors
Language: C++

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  unsigned long long int N;
  cin >> N;
  
  vector<long long double> A(N);
  for (unsigned long long int i = 0; i < N; i++) {
    cin >> A.at(i);
  }
  
  unsigned long long int answer = 0;
  
  for (unsigned long long int i = 0; i < N; i++) {
    for (unsigned long long int j = i + 1; j < N; j++) {
        long long double check = A.at(i) * A.at(j);
        if (check == ceil(check)) {
            answer++;
        }
    }
  }
  
  cout << answer << endl;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:8:15: error: 'long long' specified with 'double'
    8 |   vector<long long double> A(N);
      |               ^~~~
a.cc:17:14: error: 'long long' specified with 'double'
   17 |         long long double check = A.at(i) * A.at(j);
      |              ^~~~
Language: C++

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  unsigned long long int N;
  cin >> N;
  
  vector<unsigned long long double> A(N);
  for (unsigned long long int i = 0; i < N; i++) {
    cin >> A.at(i);
  }
  
  unsigned long long int answer = 0;
  
  for (unsigned long long int i = 0; i < N; i++) {
    for (unsigned long long int j = i + 1; j < N; j++) {
        unsigned long long double check = A.at(i) * A.at(j);
        if (check == ceil(check)) {
            answer++;
        }
    }
  }
  
  cout << answer << endl;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:8:10: error: 'unsigned' specified with 'double'
    8 |   vector<unsigned long long double> A(N);
      |          ^~~~~~~~
a.cc:17:9: error: 'unsigned' specified with 'double'
   17 |         unsigned long long double check = A.at(i) * A.at(j);
      |         ^~~~~~~~
Language: C++

#include<iostream>
#include<cstring>
#include<string>
#include<unordered_set>
#include<vector>
using namespace std;
const int N = 200003;
typedef pair<int, int> PII;
string s;
int n, p2[11], p5[11];
vector<PII> db, it;
int dbc[14][8], itc[14][8], cnt;
int f[25][25];
double a[N];
char c[20];

void get25(int x)
{
	++cnt;
	int cnt2 = 0, cnt5 = 0;
	while(x%2 == 0)
	{
		++cnt2;
		x >>= 1;
	}
	while(x%5 == 0)
	{
		++cnt5;
		x /= 5;
	}
	++f[10+cnt2][10+cnt5];
}

int main()
{
	cin >> n;
	memset(f, 0, sizeof f);
	for(int i = 0; i < n; ++i)
	{
		scanf("%s", c);
		int j = 0, x = 0;
		long long res = 0;
		while(c[j] && c[j] != '.')
		{
			res = res * 10 + c[j] - '0';
			++j;
		}
		if(c[j])
		{
			++j;
			while(c[j])
				res = res * 10 + c[j] - '0', ++x, ++j;
		}
		int n2 = -x, n5 = -x;
		while(res % 2 == 0)
		{
			++n2;
			res >>= 1;
		}
		while(res % 5 == 0)
		{
			++n5;
			res /= 5 ;
		}
		if(n2 >= 0 && n5 >= 0) ++cnt;
		if(n2 >= 15) n2 = 14;
		if(n5 >= 15) n5 = 14;
		++f[n2 + 10][n5 + 10];
	}
	long long res = long long(cnt) * (cnt-1)/2;

	for(int i = 10; i < 25; ++i)
		for(int j = 10; j < 25; ++j)
		{
			long long s = 0;
			for(int x = max(0, 20 - i); x < 25; ++x)
				for(int y = max(0, 20 - j); y < 25; ++y) if(x < 10 || y < 10)
					s += f[x][y];
			res += s * f[i][j];
		}
	for(int i = 0; i < 10; ++i)
		for(int j = 11; j < 25; ++j)
		{
			long long s = 0;
			for(int x = 20 - i; x < 25; ++x)
				for(int y = max(0, 20 - j); y < 10; ++y)
					s += f[x][y];
			res += s * f[i][j];
		}
//	for(int i = 0; i < 10; ++i)
//		for(int j = 0; j < 10; ++j)
//		{
//			long long s = 0;
//			for(int x = 20 - i; x < 25; ++x)
//				for(int y = 20 - j; y < 25; ++y)
//					s += f[x][y];
//			res += s * f[i][j];
//		}
//	for(int i = 0; i < 10; ++i)
//		for(int j = 10; j < 25; ++j)
//		{
//			long long s = 0;
//			for(int x = 20 - i; x < 25; ++x)
//				for(int y = 10; y < 25; ++y)
//					s += f[x][y];
//			res += s * f[i][j];
//		}
//	for(int i = 10; i < 25; ++i)
//		for(int j = 0; j < 10; ++j)
//		{
//			long long s = 0;
//			for(int x = 10; x < 25; ++x)
//				for(int y = 20 - j; y < 25; ++y)
//					s += f[x][y];
//			res += s * f[i][j];
//		}
	cout << res << endl;
	return 0;

}


Compiler output:
a.cc: In function 'int main()':
a.cc:70:25: error: expected primary-expression before 'long'
   70 |         long long res = long long(cnt) * (cnt-1)/2;
      |                         ^~~~
Language: Java

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;

public class Main{
  public static void main(String[] args){
    List<Double> list = Arrays.asList();
    List<Integer> counter = Arrays.asList();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      	for (int i = 0; i < list.size - 1; i++) {
        	for (int j = i + 1; j < list.size; j++) {
            	double x = list.get(i) * list.get(j);
            	if(x == (int)x) {
            		counter.add(x);
            	} else {

		}
          }
      }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:15: error: cannot find symbol
      	for (int i = 0; i < list.size - 1; i++) {
      	                        ^
  symbol:   variable size
  location: variable list of type List<Double>
Main.java:16: error: cannot find symbol
        	for (int j = i + 1; j < list.size; j++) {
        	                            ^
  symbol:   variable size
  location: variable list of type List<Double>
Main.java:19: error: incompatible types: double cannot be converted to Integer
            		counter.add(x);
            		            ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
3 errors
Language: Java

import java.util.*;
public class Solution
{
  public static void main(String[] args)
  {
    Scanner s=new Scanner(System.in);
	int n=s.nextInt();
    Double d[]=new Double[n];
    for(int i=0;i<n;i++)
    {
      d[i]=s.nextDouble();
    }
    int ans=0;
    for(int i=1;i<n;i++)
    {
      for(int j=0;j<i;j++)
      {
        Double k=d[i]*d[j];
        if(Math.ceil(k) == Math.floor(k) )
        {
	  System.out.println(d[i]+" "+d[j]);
          ans++;
        }
      }
    }
    System.out.println(ans);
  }
}

Compiler output:
Main.java:2: error: class Solution is public, should be declared in a file named Solution.java
public class Solution
       ^
1 error
Language: C++

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int N = 200010;
const double ex = 1e9;
const int P = 100003;

int p2[N], p5[N];
int n, lg2[P];

void init() {
	for (int i = 0, r = 1; i <= 45; i++, r = (r << 1) % P)
		lg2[r] = i;
}

inline int pw5(ll x) {
	int r = 0;
	while (x % 5 == 0) r++, x /= 5;
	return r;
}

int c[50][50];

inline int query(int x1, int y1, int x2 = 45, int y2 = 45) {
	return c[x2][y2] - c[x1 - 1][y2] - c[x2][y1 - 1] + c[x1 - 1][y1 - 1];
}

ll pt;

int main() {
	init();
	cin >> n;
	for (int i = 1; i <= n; i++) {
		double x;
		cin >> x;
		ll p = (x + 0.0000000001) * ex, k = p & -p;
		p2[i] = lg2[k % P]; 
		p5[i] = 0;
		while (!(p % 5)) p5[i]++, p /= 5;
		if (p2[i] >= 9 && p5[i] >= 9) pt++;
		c[p2[i]][p5[i]]++;
	} 
	for (int i = 1; i <= 45; i++)
		for (int j = 1; j <= 45; j++)
			c[i][j] += c[i - 1][j] + c[i][j - 1] - c[i - 1][j - 1];
	ll ans = 0;
	for (int i = 1; i <= n; i++) {
		tint qx = 18 - p2[i]; if (qx < 0) qx = 0;
		in qy = 18 - p5[i]; if (qy < 0) qy = 0;
		ans += query(qx, qy);
	}
	printf("%lld\n", (ans - pt) / 2);

	return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:51:17: error: 'tint' was not declared in this scope; did you mean 'uint'?
   51 |                 tint qx = 18 - p2[i]; if (qx < 0) qx = 0;
      |                 ^~~~
      |                 uint
a.cc:51:43: error: 'qx' was not declared in this scope; did you mean 'ex'?
   51 |                 tint qx = 18 - p2[i]; if (qx < 0) qx = 0;
      |                                           ^~
      |                                           ex
a.cc:52:17: error: 'in' was not declared in this scope; did you mean 'i'?
   52 |                 in qy = 18 - p5[i]; if (qy < 0) qy = 0;
      |                 ^~
      |                 i
a.cc:52:41: error: 'qy' was not declared in this scope
   52 |                 in qy = 18 - p5[i]; if (qy < 0) qy = 0;
      |                                         ^~
a.cc:53:30: error: 'qx' was not declared in this scope; did you mean 'ex'?
   53 |                 ans += query(qx, qy);
      |                              ^~
      |                              ex
a.cc:53:34: error: 'qy' was not declared in this scope
   53 |                 ans += query(qx, qy);
      |                                  ^~
Language: Java

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

public class Main{
  public static void main(String[] args){
    List<Double> list = Arrays.asList();
    List<Integer> counter = Arrays.asList();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      	for (int i = 0; i < list.size - 1; i++) {
        	for (int j = i + 1; j < list.size; j++) {
            	double x = list.get(i) * list.get(j);
            	if(x == (int)x) {
            		counter.add(x);
            	} else {

		}
          }
      }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:7: error: cannot find symbol
    List<Double> list = Arrays.asList();
                        ^
  symbol:   variable Arrays
  location: class Main
Main.java:8: error: cannot find symbol
    List<Integer> counter = Arrays.asList();
                            ^
  symbol:   variable Arrays
  location: class Main
Main.java:14: error: cannot find symbol
      	for (int i = 0; i < list.size - 1; i++) {
      	                        ^
  symbol:   variable size
  location: variable list of type List<Double>
Main.java:15: error: cannot find symbol
        	for (int j = i + 1; j < list.size; j++) {
        	                            ^
  symbol:   variable size
  location: variable list of type List<Double>
Main.java:18: error: incompatible types: double cannot be converted to Integer
            		counter.add(x);
            		            ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
5 errors
Language: C

#include<stdio.h>

int main(void){
  int n,m,i,j;
  double a[200000];
  
  scanf("%d",&n);
  for(i=0;i<n;i++){
    scanf("%.9f",&(a[i]));
  }
  
  m=0;
  for(i=0;i<n;i++){
    if(a[i]==1.0){m++;}
    for(j=i+1;j<n;j++){
      if(a[i]*a[j]=1.0;){m++;}
    }
  }
  
  printf("%d",m);
  
  return 0;
}

Compiler output:
main.c: In function 'main':
main.c:16:19: error: lvalue required as left operand of assignment
   16 |       if(a[i]*a[j]=1.0;){m++;}
      |                   ^
main.c:16:23: error: expected ')' before ';' token
   16 |       if(a[i]*a[j]=1.0;){m++;}
      |         ~             ^
      |                       )
Language: Java

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

public class Main{
  public static void main(String[] args){
    List<Double> list = new ArrayList<Double>();
    List<Integer> counter = new ArrayList<Integer>();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      	for (int i = 0; i < list.size - 1; i++) {
        	for (int j = i + 1; j < list.size; j++) {
            	double x = list.get(i) * list.get(j);
            	if(x == (int)x) {
            		counter.add(x);
            	} else {
				
                }
          }
      }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:14: error: cannot find symbol
      	for (int i = 0; i < list.size - 1; i++) {
      	                        ^
  symbol:   variable size
  location: variable list of type List<Double>
Main.java:15: error: cannot find symbol
        	for (int j = i + 1; j < list.size; j++) {
        	                            ^
  symbol:   variable size
  location: variable list of type List<Double>
Main.java:18: error: incompatible types: double cannot be converted to Integer
            		counter.add(x);
            		            ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
3 errors
Language: C++

#include<bits/stdc++.h>
#define ll 	 long long
#define pb push_back
#define mp make_pair
using namespace std;


int main()
{

    ll n; cin>>n;
   long long double a[n+9];
    for(ll i=0;i<n;i++) cin>>a[i];
    
    ll cnt=0;
 
  for(ll i=0;i<n;i++)
    {
    	for(ll j=i+1;j<n;j++)
    	{
    		long long double d= a[i]*a[j];
   	
    		if(ceil(d)== d) 
			{
			cnt++ ;
			//cout<<i<<"= "<<a[i]<<" "<<j<<"= "<<a[j]<<" "<<d<<endl;
		}
		}
	}

	
	cout<<cnt<<endl;
    return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:12:9: error: 'long long' specified with 'double'
   12 |    long long double a[n+9];
      |         ^~~~
a.cc:21:22: error: 'long long' specified with 'double'
   21 |                 long long double d= a[i]*a[j];
      |                      ^~~~
Language: C

#include<stdio.h>

int main(void){
  int n,m,i,j;
  double a[200000];
  
  scanf("%lf",&n);
  for(i=0;i<n;i++){
    scanf("%d",&(a[i]));
  }
  
  m=0;
  for(i=0;i<n;i++){
    if(a[i]==1.0){m++;}
    for(j=i+1;j<n;j++){
      if(a[i]*a[j]=1.0;){m++;}
    }
  }
  
  printf("%d",m);
  
  return 0;
}

Compiler output:
main.c: In function 'main':
main.c:16:19: error: lvalue required as left operand of assignment
   16 |       if(a[i]*a[j]=1.0;){m++;}
      |                   ^
main.c:16:23: error: expected ')' before ';' token
   16 |       if(a[i]*a[j]=1.0;){m++;}
      |         ~             ^
      |                       )
Language: Java

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

public class Main{
  public static void main(String[] args){
    List<double> list = new ArrayList<double>();
    List<int> counter = new ArrayList<int>();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      	for (int i = 0; i < list.size - 1; i++) {
        	for (int j = i + 1; j < list.size; j++) {
            	double x = list.get(i) * list.get(j);
            	if(x == (int)x) {
            		counter.add(x);
            	} else {

				}
          }
      }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:7: error: unexpected type
    List<double> list = new ArrayList<double>();
         ^
  required: reference
  found:    double
Main.java:7: error: unexpected type
    List<double> list = new ArrayList<double>();
                                      ^
  required: reference
  found:    double
Main.java:8: error: unexpected type
    List<int> counter = new ArrayList<int>();
         ^
  required: reference
  found:    int
Main.java:8: error: unexpected type
    List<int> counter = new ArrayList<int>();
                                      ^
  required: reference
  found:    int
4 errors
Language: C++

#include "header.hpp"
template<class T=ll> using vec = vector<T>;
struct Fast { Fast() { std::cin.tie(0); ios::sync_with_stdio(false); } } fast;

template <typename T>
struct RectangleSum {
    vector<vector<T>> sum;
    T GetSum(int left, int right, int top, int bottom) {  //[left, right], [top, bottom]{{{
        T res = sum[bottom][right];
        if (left > 0) res -= sum[bottom][left - 1];
        if (top > 0) res -= sum[top - 1][right];
        if (left > 0 && top > 0) res += sum[top - 1][left - 1];
        return res;
    } /*}}}*/

    RectangleSum(const vector<vector<T>> &s) { /*{{{*/
        int h = s.size();
        int w = s[0].size();
        sum.resize(h);
        for (int i = 0; i < h; i++) sum[i].resize(w, 0);
        for (int y = 0; y < h; y++) {
            for (int x = 0; x < w; x++) {
                sum[y][x] = s[y][x];
                if (y > 0) sum[y][x] += sum[y - 1][x];
                if (x > 0) sum[y][x] += sum[y][x - 1];
                if (y > 0 && x > 0) sum[y][x] -= sum[y - 1][x - 1];
            }
        }
    } /*}}}*/
};

int solve() {
    ll n;cin>>n;
    vec<pll> x;
    vvl p = make_table(142, 142, 0LL);
    rep(i, n){
        cerrendl;
        string s;cin>>s;
        auto it = s.find('.');
        ll c2 = 0;
        ll c5 = 0;
        ll a, b;
        if (it != string::npos) {
            a = stoll(s.substr(0, it) + s.substr(it+1, sz(s)-it));
            b = pow(10, sz(s)-it-1);
            ll g = gcd(a, b);
            a /= g;
            b /= g;
        }
        else{
            // x.pb(mp(stoll(s), 1));
            a = stoll(s);
            b = 1;
        }

        dump(a, b);
        while(a%2 == 0){
            c2++;
            a /= 2;
        }
        while(a%5 == 0){
            c5++;
            a /= 5;
        }
        while(b%2 == 0){
            c2--;
            b /= 2;
        }
        while(b%5 == 0){
            c5--;
            b /= 5;
        }
        dump(a, b);
        dump(c2, c5);
        p[c2+70][c5+70]++;
        x.pb(mp(c2, c5));
    }
    RectangleSum rs(p);

    ll cnt = 0;
    rep(i, n){
        auto [c2, c5] = x[i];
        cnt += rs.GetSum(-c2+70, 140, -c5+70, 140);

        if (c2>=0 && c5>=0) cnt--;
    }

    cout << cnt/2 << endl;
    return 0; 
}


int main(){/*{{{*/
    solve();
    check_input();
    return 0;
}/*}}}*/


Compiler output:
a.cc:1:10: fatal error: header.hpp: No such file or directory
    1 | #include "header.hpp"
      |          ^~~~~~~~~~~~
compilation terminated.
Language: Java

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

public class Main{
  public static void main(String[] args){
    List<double> list = new ArrayList<double>();
    List<int> counter = new ArrayList<int>();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
      　for (int i = 0; i < list.size - 1; i++) {
          for (int j = i + 1; j < list.size; j++) {
             double x = list.get(i) * list.get(j);
             if(x == (int)x) {
               counter.add(x);
             } else {

             }
          }
          System.out.print(counter.size());
      }
    }
  }
}

Compiler output:
Main.java:14: error: illegal character: '\u3000'
      ?for (int i = 0; i < list.size - 1; i++) {
      ^
1 error
Language: Java

import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int a = sc.nextInt();
		double[] b = new double[a];
		for(int i = 0; i < a; i++){
			b[i] = sc.nextDouble();
		}
		int c = 0; 
		for(int i = 0;i < a;i++){
			for(int j = i + 1;j < a;j++){
              if((Math.abs(b[i] - Math.round(b[i])) > 0.0000004) || (Math.abs(b[i] - Math.round(b[i])) == 0) && (Math.abs(b[j] - Math.round(b[j])) > 0.0000004) || (Math.abs(b[j] - Math.round(b[j])) == 0)){
              	if(b[i] * b[j] - Math.floor(b[i] * b[j]) == 0){
					c ++;
                  System.out.println(b[i] + "と" + b[j]);
				}
              }
				
			}
		}
		System.out.println(c);
		
		
	}
}
import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int a = sc.nextInt();
		double[] b = new double[a];
		for(int i = 0; i < a; i++){
			b[i] = sc.nextDouble();
		}
		int c = 0; 
		for(int i = 0;i < a;i++){
			for(int j = i + 1;j < a;j++){
              if((Math.abs(b[i] - Math.round(b[i])) > 0.0000004) || (Math.abs(b[i] - Math.round(b[i])) == 0) && (Math.abs(b[j] - Math.round(b[j])) > 0.0000004) || (Math.abs(b[j] - Math.round(b[j])) == 0)){
              	if(b[i] * b[j] - Math.floor(b[i] * b[j]) == 0){
					c ++;
				}
              }
				
			}
		}
		System.out.println(c);
		
		
	}
}
提出情報

Compiler output:
Main.java:28: error: class, interface, enum, or record expected
import java.util.*;
^
Main.java:54: error: reached end of file while parsing
????
^
2 errors
Language: C++

#include <iostream>
#include <vector>

using namespace std;

int main(){
  	int N;
  	cin >> N;
  	vector<double> a(N);
  	int counter=0;
  	for(int i=0;i<N;i++){
      	cin >> a[i];
      	for(int j=0;j<i;j++){
          	if(a[i]*a[j]==floor(a[i]*a[j])) counter++;
        }
    }
  	cout << counter;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:14:31: error: 'floor' was not declared in this scope
   14 |                 if(a[i]*a[j]==floor(a[i]*a[j])) counter++;
      |                               ^~~~~
Language: Java

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

public class Main{
  public static void main(String[] args){
    List<double> list = new ArrayList<double>();
    List<int> counter = new ArrayList<int>();
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
    }
    for (int i = 0; i < list.size - 1; i++) {
        for (int j = i + 1; j < list.size; j++) {
           double x = list.get(i) * list.get(j);
           if(x == (int)x) {
             counter.add(x);
           } else {
             
           }
        }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:7: error: unexpected type
    List<double> list = new ArrayList<double>();
         ^
  required: reference
  found:    double
Main.java:7: error: unexpected type
    List<double> list = new ArrayList<double>();
                                      ^
  required: reference
  found:    double
Main.java:8: error: unexpected type
    List<int> counter = new ArrayList<int>();
         ^
  required: reference
  found:    int
Main.java:8: error: unexpected type
    List<int> counter = new ArrayList<int>();
                                      ^
  required: reference
  found:    int
4 errors
Language: C++

#include <iostream>
#include <vector>
#include <cmath>

using namespace std;

int main(){
  	int N;
  	cin >> N;
  	vector<double> a(N);
  	int counter=0;
  	for(int i=0;i<N;i++){
      	cin >> a[i];
      	for(int j=0;j<i;j++){
          	double b = a[i]*10^15-floor(a[i]*10^15)
          	if(a[i]*a[j] == floor(a[i]*a[j]) && b*a[j] == floor(b*a[j])) {
              	counter++;
              	cout << i << ":" << j << " " << counter << endl;
            }
        }
	}
  	cout << counter;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:15:52: error: invalid operands of types '__gnu_cxx::__alloc_traits<std::allocator<double>, double>::value_type' {aka 'double'} and 'int' to binary 'operator^'
   15 |                 double b = a[i]*10^15-floor(a[i]*10^15)
      |                                                    ^~~
      |                                                     |
      |                                                     int
Language: C++

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef map<int,int> mii;
typedef vector<int> vi;
typedef vector<vector<int>> vii;
typedef vector<long long> vl;
typedef vector<vector<ll>> vll;
typedef vector<bool> vb;
typedef set<int> si; 
typedef queue<int> qi;
typedef stack<int> sti;
typedef priority_queue<int> pqi;
#define fori(i,a,b) for(int i = (a); i < (b); ++i)
#define rep(i,b,a) for(int i = (b); i >= (a); --i)
#define all(a) (a).begin(), (a).end()
//#define __builtin_popcountll bitCountLL
//#define __builtin_popcount bitCount
//__builtin_ctz 末尾0的个数, __builtin_clz 前导0的个数
//__builtin_ffs 最后一个1的位置
#define maxn 100005
#define Mod 1000000007
const ll INF = 1e9;
const ll ML = 4e18;
    
void solve() {
    int n;
    cin >> n;
    vl a(n);
    map<pii,int> mp;
    fori(i,0,n) {
        double x;
        cin >> x;
        a[i] = ll(INF * x);
        int b = 0 ,c = 0;
        while(a[i] % 2 == 0 || a[i] % 5 == 0) {
            if(a[i] % 2 == 0) {
                a[i] /= 2;
                b++;
            }
            if(a[i] % 5 == 0) {
                a[i] /= 5;
                c++;
            }
        }
        mp[{b,c}]++;
    }
    ll  res = 0;
    for(auto m : mp) {
        pii tp = m.first;
        int x = tp.first, y = tp.second;
        int cnt = m.second;
        for(auto p : mp) {
            pii px = p.first;
            int sx = px.first, sy = px.second;
            int cx = p.second;
            if(x + sx >= 18 && y + sy >= 18) {
                res += ll(cx * cnt);
                if(x == sx && y == sy) {
                    res -= cnt * 2;
                    res += += ll(cx * cnt);
                }
            }
        }
    }
    cout << res / 2 << endl;
}

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0);
	//cout.precision(30); cout << fixed;
	//freopen("D:\\data_in.txt", "r", stdin);
   
    solve();
   
    /*
    clock_t start,finish;
    start = clock();
    
    finish = clock();
    cout << "\n" << (double)(finish - start) / (double)(CLOCKS_PER_SEC) * 1000 << "ms" << endl;
    */
    return 0;
}

/***************************************************************
 question:
 idea:
 tag:
 record:
 ***************************************************************/


Compiler output:
a.cc: In function 'void solve()':
a.cc:64:28: error: expected primary-expression before '+=' token
   64 |                     res += += ll(cx * cnt);
      |                            ^~
Language: Java

import java.util.*;

public class Main{
  public static void main(String[] args){
    List<double> list = new ArrayList<double>;
    List<int> counter = new ArrayList<int>;
    double num = 0;
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      	num = Double.parseDouble(sc.nextLine());
        list.add(num);
    }
    for (int i = 0; i < list.size - 1; i++) {
        for (int j = i + 1; j < list.size; j++) {
           double x = list.get(i) * list.get(j);
           if(x == (int)x) {
             counter.add(x);
           } else {
             
           }
        }
    }
    System.out.print(counter.size());
  }
}

Compiler output:
Main.java:5: error: '(' or '[' expected
    List<double> list = new ArrayList<double>;
                                             ^
Main.java:6: error: '(' or '[' expected
    List<int> counter = new ArrayList<int>;
                                          ^
2 errors