Olympic Contest 2025
Welcome to EIU Olympic Contest 2025
Xin chào các bạn, tôi thật sự cảm thấy rất vui mừng vì các bạn đã tham dự cuộc thi ngày hôm nay. Cuộc thi ngày hôm nay sẽ được biết đến vòng cuối cùng của chặng đường chọn đội tuyển Olympic tin học của EIU. Phải nói đây chính là bước cuối cùng hay là chướng ngại vật cuối cùng để bạn có thể trở thành thành viên của EIU tham dự cuộc thi lập trình tin học sinh viên Việt Nam 2025.
Cuộc thi vòng cuối lần này sẽ là một cuộc thi mang tính tư duy khá cao và đòi hỏi khả năng vận dụng cũng như thiết kế giải thuật hợp lý, vì thế các bạn hãy sử dụng hết khả năng của bản thân để đọc, hiểu và hoàn thành các vấn đề, lựa chọn một hướng đi phù hợp cho từng subtest. Nếu cảm thấy không thể tiếp tục bài nào đó thì các bạn có thể chuyển sang bài khác, chúng tôi chỉ xem vào kết quả thi của bạn, chứ không xem xét sự cố gắng thử nghiệm một bài duy nhất của bạn. Vì thế hãy lập trình và giải quyết vấn đề một cách thông minh và tối ưu nhất nhé! Tuyệt đối không được mở bất kỳ một tab nào khác hay ứng dụng nào khác (kể cả word, excel, ...) trên máy tính, vì đây có thể xem là hành động gian lận thi cử, nếu phát hiện sẽ xử lý bằng cách cấm khỏi cuộc thi, chỉ duy nhất được mở đó là link Contest và App để code của bạn.
Chúc các bạn có cuộc thi vui vẻ, và đạt điểm thật cao để có thể trở thành "một vị khách du lịch" trên thành phố siêu đẹp được đặt tên của vị lãnh tụ vĩ đại Hồ Chí Minh, cùng trải nghiệm phúc giây hạnh phúc cùng các thành viên Olympic, được mặc các chiếc áo xinh xinh nhưng mang đậm vẻ đẹp tri thức, sau đó là chơi mọi nơi đẹp đẽ ở thành phố Hồ Chí Minh, … và đặc biết là cảm giác se se lạnh của mùa Đông miền Nam nước ta.
Cuối cùng, chúc các bạn thành công!
A little love from a cute boy <3.
Lưu ý
- Các bạn hãy đọc toàn bộ vấn đề, sau đó chọn ra từng vấn đề dễ nhất để giải quyết, vì các vấn đề được xáo trộn độ khó để kiểm tra khả năng nhìn nhận vấn đề của các bạn.
- Để nộp các vấn đề các bạn nên sử dụng bộ đọc nhanh của từng ngôn ngữ riêng Python hãy dùng trình chấm Pypy3
- Dưới đây là code kèm bộ đọc nhanh của ~2~ ngôn ngữ C++ và Java cho bài A plus B
C++
#include <bits/stdc++.h>
using namespace std;
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
// Your code
long long u, v;
cin >> u >> v;
cout << u + v << "\n";
return 0 ^ 0;
}
Java
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
// Your code
long a = sc.nextLong();
long b = sc.nextLong();
System.out.println(a + b);
}
/*
* Don't see below
*/
static Reader sc = new Reader();
static StringBuilder sb = new StringBuilder();
static Random rd = new Random();
static class Reader {
private int BUFFER_SIZE = 1 << 16;
private byte[] buffer = new byte[BUFFER_SIZE];
private int bufferPointer = 0, bytesRead = 0;
private InputStream rd;
public Reader() {
this.rd = System.in;
}
private byte read() {
if (bufferPointer == bytesRead) {
bufferPointer = 0;
try {
bytesRead = rd.read(buffer, bufferPointer, BUFFER_SIZE);
} catch (IOException e) {
e.printStackTrace();
}
if (bytesRead == -1) {
return -1;
}
}
return buffer[bufferPointer++];
}
public int nextInt() {
int number = 0;
int c = read();
while (c <= ' ') {
c = read();
}
boolean negative = (c == '-');
if (negative) {
c = read();
}
do {
number = number * 10 + (c - '0');
c = read();
} while (c >= '0' && c <= '9');
return negative ? -number : number;
}
public long nextLong() {
long number = 0L;
int c = read();
while (c <= ' ') {
c = read();
}
boolean negative = (c == '-');
if (negative) {
c = read();
}
do {
number = number * 10 + (c - '0');
c = read();
} while (c >= '0' && c <= '9');
return negative ? -number : number;
}
public String next() {
int c = read();
while (c <= ' ') {
c = read();
}
StringBuilder t = new StringBuilder();
do {
t.append((char) c);
c = read();
} while (c > ' ');
return t.toString();
}
public String nextLine() {
int c = read();
while (c == '\n' || c == '\r') {
c = read();
}
StringBuilder t = new StringBuilder();
while (c != '\n' && c != '\r' && c != -1) {
t.append((char) c);
c = read();
}
return t.toString();
}
public double nextDouble() {
return Double.parseDouble(next());
}
public char nextChar() {
int c = read();
while (c <= ' ') {
c = read();
}
return (char) c;
}
}
}
Bình luận