1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <iostream> struct range_iterator { int lower_, upper_; range_iterator() : upper_(0), lower_(0) {} range_iterator(int lower, int upper) : upper_(upper), lower_(lower) {} int operator*(){ return lower_; } int operator++(){ lower_++; } bool operator != (range_iterator const & other) { return (upper_-lower_) != (other.upper_-other.lower_); } }; int main() { range_iterator begin(10,25), end; while(begin != end) { std::cout << *begin << " "; ++begin; } } |
I2luY2x1ZGUgPGlvc3RyZWFtPgpzdHJ1Y3QgcmFuZ2VfaXRlcmF0b3IKewogICAgICAgaW50IGxvd2VyXywgdXBwZXJfOwogICAgICAgcmFuZ2VfaXRlcmF0b3IoKSA6IHVwcGVyXygwKSwgbG93ZXJfKDApIAogICAgICAge30KICAgICAgIHJhbmdlX2l0ZXJhdG9yKGludCBsb3dlciwgaW50IHVwcGVyKSA6IHVwcGVyXyh1cHBlciksIGxvd2VyXyhsb3dlcikgCiAgICAgICB7fQogICAgICAgaW50IG9wZXJhdG9yKigpeyByZXR1cm4gbG93ZXJfOyB9CiAgICAgICBpbnQgb3BlcmF0b3IrKygpeyBsb3dlcl8rKzsgfQoKICAgICAgIGJvb2wgb3BlcmF0b3IgIT0gKHJhbmdlX2l0ZXJhdG9yIGNvbnN0ICYgb3RoZXIpCiAgICAgICB7CiAgICAgICAgICAgcmV0dXJuICh1cHBlcl8tbG93ZXJfKSAhPSAob3RoZXIudXBwZXJfLW90aGVyLmxvd2VyXyk7CiAgICAgICB9Cn07CgppbnQgbWFpbigpCnsKICAgICAgIHJhbmdlX2l0ZXJhdG9yIGJlZ2luKDEwLDI1KSwgZW5kOwogICAgICAgd2hpbGUoYmVnaW4gIT0gZW5kKQogICAgICAgewogICAgICAgICAgc3RkOjpjb3V0IDw8ICpiZWdpbiA8PCAiICI7CiAgICAgICAgICArK2JlZ2luOwogICAgICAgfQp9
-
upload with new input
-
result: Success time: 0s memory: 2828 kB returned value: 0
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24


