Announcement

Collapse
No announcement yet.

Về bài K - ACM Miền Trung 10/10/2015

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 15520878
    replied
    Originally posted by 13520469 View Post
    Thật ra mình nghĩ ko phải do code mà là do bạn đọc ko kĩ đề, Input có ghi rõ là "multiple test case", chương trình của bạn khi submit chỉ chạy được mỗi 1 test nên sẽ bị trả về WA.
    Không đâu anh, thi ACM dạng đề này mình chỉ cần viết 1 trường hợp đơn lẻ, khi chấm nó sẽ tự chạy lại ở mỗi test, còn dạng nữa là nó cho sẵn số case khi đó mới như anh nói. Hồi trước em đã thử lặp vô hạn rồi nhét code vào nhưng bị TLA, sau khi sửa lại dạng chạy đơn thì mới submit thành công.

    Leave a comment:


  • 13520469
    replied
    Thật ra mình nghĩ ko phải do code mà là do bạn đọc ko kĩ đề, Input có ghi rõ là "multiple test case", chương trình của bạn khi submit chỉ chạy được mỗi 1 test nên sẽ bị trả về WA.

    Leave a comment:


  • 15520878
    replied
    em canh hết rồi anh :beauty: bảo đảm chạy đúng yêu cầu đề, ngon lành cành đào ko TLA được :embarrassed: mà cái này là dãy con liên tiếp mà anh chơi sort thì hỏng hết thứ tự rồi :brick:

    anh còn rảnh thì tìm hộ em test hiểm với ạ, chứ em bao hết rồi mà vẫn còn thủng :doubt:

    Leave a comment:


  • 14520848
    replied
    À còn nữa, cấp phát biến dùng long long n. Int không đủ bộ nhớ thì phải ( nói chung khai báo biến cứ quất long long cho chắc cứ )

    Leave a comment:


  • 14520848
    replied
    À đọc nhầm đề, thôi rút kinh nghiệm lần sau
    Last edited by 14520848; 11-10-2015, 09:40.

    Leave a comment:


  • 15520878
    started a topic [C++] Về bài K - ACM Miền Trung 10/10/2015

    Về bài K - ACM Miền Trung 10/10/2015

    Đề:
    a.png

    Em chạy hết mọi ngóc ngách rồi, tuy code hơi bựa nhưng không thể nào sai được, vậy mà submit cứ bị Wrong Answer :surrender:

    Ai giúp em tìm ra test hiểm và bug trong code em với ạ, em cảm ơn nhiều!


    Ý tưởng: Chạy từ đầu đến cuối dãy, ở mỗi lượt chạy, tính tổng các dãy con tạo bởi phần từ đang xét và các phần tử theo sau nó, khi gặp
    dãy con có tổng >= k thì thoát ra, trước khi thoát có ghi nhận độ dài để tìm min độ dài nhằm làm kết quả cuối cùng. Ở cuối hàm main là
    một loạt if để bắt các test hiểm.

    // biến trong bài: n <-> N, k <-> S, s là biến tạm để tính tổng mỗi dãy con, l là chiều dài tạm của mỗi dãy con, m là kết quả cần xuất.

    Code em:
    Code:
    #include <iostream>
     
    using namespace std;
     
    int main() {
        int n, k;
        cin >> n >> k;
        int a[100000];
        for (int i = 0; i < n; i++)
            cin >> a[i];
        a[n++] = 0;
        int m = n, s, l;
        for (int i = 0; i < n; i++) {
            s = a[i], l = 1;
            for (int j = i + 1; j < n; j++) {
                if (s >= k) {
                    if (l < m)
                        m = l;
                    break;
                }
                s += a[j];
                l++;
            }
        }
        if (m > n - 1 || n - 1 == 1 && a[0] < k) {
            cout << 0 << '\n';
            return 0;
        }
        if (n - 1 == 1 && a[0] >= k) {
            cout << 1 << '\n';
            return 0;
        }
        cout << m << '\n';
        return 0;
    }
    Last edited by 15520878; 10-10-2015, 15:34. Reason: bổ sung thông tin

LHQC

Collapse
Working...
X