Đề https://codeforces.com/group/FLVn1Sc504/contest/274766/problem/A
Em lỗi hết 20 test case vì chạy quá thời gian.
Đây lần đầu tiên em gặp lỗi này, em không biết vì sao lại chạy quá thời gian ạ? Mọi người chỉ em cách chỉnh code sao cho hợp lý đc k ạ. Em cảm ơn
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>
using namespace std;
void nhapmang (int a[100], int b[100], int sl) {
for (int i =0; i<sl;i++) {
cin >> a[i];
cin >> b[i];
}
}
int main () {
int a[100];
int b[100];
int viec;
cin >> viec;
int n = viec*2;
int dem = viec;
nhapmang (a,b,n);
int tong = 0;
bool s[100];
int c[100];
for (int i = 0 ; i < n;i++) {
c[i] = b[i];
}
set <int> d;
sort (c,c+n);
for (int i = 0 ; i < n;i++) {
d.insert (c[i]);
}
vector <int> e (d.begin(), d.end());
int m = 0;
for (int i = 0 ; i < n;i++) {
if (b[i] < a[i]&&b[i]==e[m]) {
i++;
m++;
if (dem==0) break;
if (dem!=0) {
s[i] = true;
dem--;
tong += b[i];
}
}
}
for (int i = 0; i < n;i++) {
if (!s[i]) {
tong += a[i];
}
}
cout << tong;
return 0;
}