Lala

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 đỏ.

Phía sau một cô gái
16 tháng 2 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ự
Dương Hoàng Linh
Xem chi tiết
TBNT
Xem chi tiết
Konasa Hara
Xem chi tiết
gamer03 hero
Xem chi tiết
Lala
Xem chi tiết
Lala
Xem chi tiết
TQP2711
Xem chi tiết
Nhi Hoàng
Xem chi tiết
world sprizen
Xem chi tiết
43,anh tuấn 8/2
Xem chi tiết