Lỗi giá trị không hợp lệ của biến bool

Đề: https://codeforces.com/edu/course/2/lesson/9/2


line 29: image
Cho em hỏi vì sao giá trị của biến bool lại không hợp lệ thế ạ. Mọi ngươi giải thích cho em với, em cảm ơn :D.

#include <iostream> 
#include <map>
#include <vector>
using namespace std; 
int main () { 
   int n; 
   cin >> n; 
   vector <int> arr (n);
   long long s; 
   cin >> s;  
   for (int i = 0; i < arr.size();i++) { 
      cin >> arr[i]; 
   }
   int le = 0; 
    long long sum = 0;
	int res= INT_MAX;
   bool check;   
   for (int ri = 0; ri < n;ri++) {  
      sum+= arr[ri]; 
      while (sum - arr[le] > s) {
      	sum -= arr[le];
      	le++; 
	  }
	  if (sum >= s) {
	  	check = 1; 
	  	res = min (ri - le + 1, res); 
   }
} 
  if (check) cout << res; 
  else cout << -1; 
   return 0; 
}

Em ghi check = true, thì nó cũng vậy anh ạ, nên mới đổi thành 1 nó vẫn sai

Thử Gán check bằng false ngay lúc khai báo xem

1 Like

@@ Vâng được rồi ạ, giờ không còn lỗi đó nữa đúng đến test 51(nhưng mà test 51 sai) rồi ạ, em cảm ơn và cho em hỏi chứ không phải lúc mình khai báo biến bool thì nó tự động gán cho nó giá trị false hả a?

à rồi AC rồi ạ, do em thiếu dấu bằng, còn em vẫn thắc mắc cái đoạn tự động gán giá trị false, a giải thích cho e với ạ.

có lẽ chưa gán giá trị cho check nên nó báo lỗi? Khai báo biến nên đặt cho biến 1 giá tị khởi tạo, ở đây là bool check = false;

2 Likes

Em đọc thêm xem.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?