[Original] CLRS 4-6

[Original] CLRS 4-6

暂无测试数据。

Background

改编自CLRS(算法导论) 练习4-6

Description

定义:对一个\(m\times n\)的实数序列\(A\)。若对\(\forall 1\leqslant i < k \leqslant m\) 和 \(1 \leqslant j < l \leqslant n\)的\(i,j,k,l\),都有
\[A_{i,j} + A_{k,l} \leqslant A_{i,l} + A_{k,j}\]
则称\(A\)时**Monge**阵列。现给出\(T\)个Monge阵列,求出每一行的最左最小元素。

Format

Input

Two integers x and y, satisfying 0 <= x, y <= 32767.

Output

One integer, the sum of x and y.

Sample 1

Input

123 500

Output

623

Limitation

对于所有的测试点,每个测试点提供256 MB的内存和4.0s的时限
对于所有的测试点,有\(T \leqslant 3\times 10^3, n,m \leqslant 5 \times10^5\)

Hint

Free Pascal Code

var a,b:longint;
begin
    readln(a,b);
    writeln(a+b);
end.

C Code

#include <stdio.h>
int main(void)
{
    int a, b;
    scanf("%d%d", &a, &b);
    printf("%d\n", a + b);
    return 0;
}

C++ Code

#include <iostream>
using namespace std;
int main()
{
    int a, b;
    cin >> a >> b;
    cout << a + b << endl;
    return 0;
}

Python Code

a, b = [int(i) for i in raw_input().split()]
print(a + b)

Java Code

import java.io.*;
import java.util.Scanner;

public class Main {

    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a + b);
    }
}

Source

Vijos Original

Tips

对于一个朴素的算法,时间复杂度为\(O(Tmn)\)
而一个优秀的算法,可达到\(O(Tm+Tn\log m)\)
注意这道题可能会被卡常数。如果你的优秀算法无法通过,允许在程序的开头处添加以下代码:

#pragma GCC optimize("Ofast")

信息

难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者