Submission #1209788


Source Code Expand

Copy
using System;
using System.Collections.Generic;
public class Aprob {
    public static void Main() {
        string[] readSome = new string[2];
        readSome = Console.ReadLine().Split(' ');
        int n = int.Parse(readSome[0]);
        int m = int.Parse(readSome[1]);
        readSome = new string[n];
        readSome = Console.ReadLine().Split(' ');
        int[] x = new int[n];
        for (int i = 0; i < n; i++) {
            x[i] = int.Parse(readSome[i]);
        }
        readSome = new string[m];
        readSome = Console.ReadLine().Split(' ');
        int[] y = new int[m];
        for (int i = 0; i < m; i++) {
            y[i] = int.Parse(readSome[i]);
        }
        //int conbix = Conbi(n);
        List<long> distXX = new List<long>();
        //long[] distX = new long[conbix];
        int countx = 0;
        for (int i = 0; i < n-1; i++) {
            for (int j = i + 1; j < n; j++) {
                distXX.Add((x[j] - x[i]) % ((int)Math.Pow(10, 9) + 7));
                //distX[count] = (x[j] - x[i]) % ((int)Math.Pow(10, 9) + 7);
                countx++;
            }
        }
        int county = 0;
        //int conbiY = Conbi(m);
        List<long> distYY = new List<long>();
        //long[] distY = new long[conbiY];
        for (int i = 0; i < m - 1; i++) {
            for (int j = i + 1; j < m; j++) {
                distYY.Add((y[j] - y[i]) % ((int)Math.Pow(10, 9) + 7));
                //distY[count] = (y[j] - y[i]) % ((int)Math.Pow(10, 9) + 7);
                county++;
            }
        }
        long area = 0;
        for (int i = 0; i < countx; i++) {
            for (int j = 0; j < county; j++) {
                //Console.WriteLine(distX[i]+"*"+distY[j]);
                area += (distXX[i] * distYY[j]) % ((int)Math.Pow(10, 9) + 7);
            }
            area %= ((int)Math.Pow(10, 9) + 7);
        }
        Console.WriteLine(area);

    }

    public static int Conbi(int n) {
        int conbi = 1;
        if (n != 2) {
            for (int i = 1; i <= n; i++) {
                conbi *= i;
            }
            for (int i = 1; i <= n - 2; i++) {
                conbi /= i;
            }
            conbi /= 2;
        } else if (n == 2) {
            conbi = 1;
        } else {
            conbi = 0;
        }
        return conbi;
    }
}

Submission Info

Submission Time
Task D - 井井井 / ###
User shomu36
Language C# (Mono 4.6.2.0)
Score 0
Code Size 2394 Byte
Status

Test Cases

Set Name Score / Max Score Test Cases
Sample 0 / 0 0_000.txt, 0_001.txt
All 0 / 500 0_000.txt, 0_001.txt, max.txt, min.txt, mod.txt, n2.txt, rndA.txt, rndB.txt, rndC.txt, rndD.txt, rndE.txt, rndF.txt, rndG.txt, rndH.txt, rndI.txt, rndJ.txt, var.txt
Case Name Status Exec Time Memory
0_000.txt 24 ms 11092 KB
0_001.txt 22 ms 9172 KB
max.txt
min.txt 22 ms 11092 KB
mod.txt
n2.txt
rndA.txt
rndB.txt
rndC.txt
rndD.txt
rndE.txt
rndF.txt
rndG.txt
rndH.txt
rndI.txt
rndJ.txt
var.txt