H24

Lập trình C++.Có n viên bi được xếp thành một hàng ngang. Mỗi viên bi được sơn một trong haimàu xanh hoặc đỏ. Người ta muốn sơn lại màu xanh hoặc đỏ của một số viên bi (có thể sơnlại toàn bộ, hoặc có thể không sơn viên nào cả) sao cho sau khi sơn thì các viên bi màu xanhđều nằm bên trái các viên bi màu đỏ. Tất nhiên sau khi sơn có thể các viên bị chỉ toàn màu xanh hoặc toàn màu đỏ. Yêu cầu: Hãy tìm cách sơn lại ít viên bi nhất sao cho dãy bi sau khi sơn thỏa mãn các viên bi xanh đều nằm bên trái các viên bi đỏ.

PG
16 tháng 2 2024 lúc 21:03

#include<bits/stdc++.h>

using namespace std;

int main() {

     int n;

     cin >> n;

     vector<int> a(n);

     for(int i = 0; i < n; i++) cin >> a[i];

     int count_red = 0, total_paint = 0;

     for(int i = 0; i < n; i++) {

          if(a[i] == 1) count_red++;

          else total_paint += count_red;

     }

     cout << total_paint;

     return 0;

}

Bình luận (0)

Các câu hỏi tương tự
DL
Xem chi tiết
H24
Xem chi tiết
KH
Xem chi tiết
GH
Xem chi tiết
H24
Xem chi tiết
H24
Xem chi tiết
H24
Xem chi tiết
NH
Xem chi tiết
WS
Xem chi tiết
48
Xem chi tiết