ACMB

 

http://vn.spoj.com/problems/ACMNB/

Thuật Toán:  Gọi TimesTi là thời gian Tín làm hết 2*n bài ;

Bây giờ muốn tìm kết quả bài toán hãy nhìn xem , result = TimesTi – Ti[?](n bài) +

Tèo[?](n bài) => (((Teo[?] – Ti[?] min))) =>> sắp xếp lấy n phần tử đầu tiên của giá trị chênh lệch ấy (khó hiểu vãi c đi đc) thôi nhìn mẹn code xem thử hiểu k :))

#include
#include

using namespace std;

const long MaxN = 1000001;

int Ti[MaxN], Teo[MaxN];
int main(){
long N, TimesTi = 0, TimesDiff = 0;
cin >> N;
for (long i = 1; i <= 2 * N; i++){
cin >> Ti[i] >> Teo[i];
TimesTi += Ti[i];
Teo[i] -= Ti[i];
};
sort(Teo + 1, Teo + 2 * N + 1);
for (long i = 1; i <= N ; i++)
TimesDiff += Teo[i];
cout << TimesTi + TimesDiff;
return 0;
}

Leave a comment