[Original] CLRS 4. 1-4 & 4. 1-5

[Original] CLRS 4. 1-4 & 4. 1-5

暂无测试数据。

Background

改编自CLRS(算法导论) 练习4. 1-4 & 4. 1-5

Description

定义\(A\),求出一个连续的闭区间\([L,R]\),使得
\[S = \sum^R_{k=L} A_k\]
取得最大值。允许返回一个空的区间\([0,0]\)。如果有多组解,返回左端点最小的一组。如果仍有多组,则返回右断点最小的一组。

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

对于满足数据①的测试点,提供256MB的内存和1 ~ 1.5s的时限,你的算法应该可以在\(\Theta(n^2)\)的时间内通过这组测试点。
对于满足数据②的测试点,提供512MB的内存和1 ~ 2s的时限,你的算法应该可以在\(\Theta(n \log n)\)的时间内通过这组测试点
对于满足数据③的测试点,提供512MB的内存和1.5 ~ 2s的时限,你的算法应该可以在\(\Theta (n)\)的时间内通过这组测试点
对于数据①,有\(n \leqslant 10^4\)
对于数据②,有\(n \leqslant 2\times10^6\)
对于数据③,有\(n \leqslant 3\times10^8\)。你应该想到一个方案存储这组数据。

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

信息

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