(I3
I114
I9
(dp0
Vagrain.%l
p1
(Vagrain.cpp
p2
S'#include <iostream>\r\n#include <set>\r\n\r\nusing namespace std;\r\n\r\nset < int > pos;\r\n\r\nint main ()\r\n{\r\n    cin.tie (nullptr);\r\n    ios::sync_with_stdio (false);\r\n    int N, L, D, A, B;\r\n    int64_t X;\r\n    cin >> N >> L >> D >> X >> A >> B;\r\n    pos.insert (-D - 1);\r\n    pos.insert (N + D + 1);\r\n    for (int i = 0 ; i < N ; i ++)\r\n    {\r\n        pos.insert (X - 1);\r\n//        cout << "Insert of " << X << endl;\r\n        auto start = pos.begin ();\r\n        if (*start < D)\r\n        {\r\n//            cout << "Min X (" << *start << ") is smaller then " << D << endl;\r\n            start ++;\r\n            auto end = pos.end ();\r\n            end --;\r\n            for (auto it = start ; it != end ; it ++)\r\n            {\r\n                auto itNext = it, itPrev = it;\r\n\r\n                auto curr = *it;\r\n\r\n                itPrev --; auto prev = *it;\r\n\r\n                itNext ++; auto next = *it;\r\n\r\n                if ((prev >= curr - D and prev <= curr + D) and\r\n                    (next >= curr - D and next <= curr + D))\r\n                {\r\n//                    cout << prev << " and " << next << " are in interval [" << X - D << ", " << X + D << "]" << endl;\r\n                }\r\n                else\r\n                    goto Break;\r\n            }\r\n            cout << i + 1 << endl;\r\n            return 0;\r\n            Break:\r\n            {\r\n\r\n            }\r\n        }\r\n        X = (X * A + B) % (L + 1);\r\n    }\r\n    return 0;\r\n}\r\n'
p3
tp4
stp5
.