#include <iostream>
#include <vector>
#include <stdio.h>
#include <algorithm>
using namespace std;
struct Point{ int x,y; };
int main() {
vector<Point> points;
for (int i=0;i<100;i++) {
//ランダムな点を生成
Point pt = { rand() % (i+1), 0 };
points.insert(upper_bound(points.begin(),points.end(),pt,
[](const auto &lhs,const auto &rhs)->bool{return lhs.x<rhs.x;}),pt) ;
}
//要素を順に表示
for(auto point : points) {cout << point.x << endl;}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cnVjdCBQb2ludHsgaW50IHgseTsgfTsKCmludCBtYWluKCkgewoJdmVjdG9yPFBvaW50PiBwb2ludHM7Cglmb3IgKGludCBpPTA7aTwxMDA7aSsrKSB7CgkJLy/jg6njg7Pjg4Djg6DjgarngrnjgpLnlJ/miJAKCQlQb2ludCBwdCA9IHsgcmFuZCgpICUgKGkrMSksIDAgfTsKCQlwb2ludHMuaW5zZXJ0KHVwcGVyX2JvdW5kKHBvaW50cy5iZWdpbigpLHBvaW50cy5lbmQoKSxwdCwKCQkgIFtdKGNvbnN0IGF1dG8gJmxocyxjb25zdCBhdXRvICZyaHMpLT5ib29se3JldHVybiBsaHMueDxyaHMueDt9KSxwdCkgOwoJfQoJLy/opoHntKDjgpLpoIbjgavooajnpLoKCWZvcihhdXRvIHBvaW50IDogcG9pbnRzKSB7Y291dCA8PCBwb2ludC54IDw8IGVuZGw7fQoJcmV0dXJuIDA7Cn0=