codeforces976C(排序+贪心)

题目链接:http://codeforces.com/contest/976/problem/C
题意:给出一些区间,让你找出使得li>=lj&&ri<=rj的i j,有多组解输出任意一组即可,没有输出-1,-1
思路:按照l小到大排个序,相等r大到小排个序,挨着找就可以了。

代码:

#include
using namespace std;
const int maxn=3e5+5;
typedef long long LL;
struct node
{
    int l;
    int r;
    int id;
}a[maxn];
bool cmp(node x,node y)
{
    if(x.l==y.l) return x.r>y.r;
    return x.l=a[i+1].r)
            {
                flag=true;
                printf("%d %d\n",a[i+1].id,a[i].id);
                break;
            }
        }
        if(!flag) printf("-1 -1\n");
    }
    return 0;
}



你可能感兴趣的:(Codeforces)