Página Principal

MC521-1s2014

MC621-2s2014

MC521-1s2015

MC621-2s2015

MC521-1s2016

Conteúdo

Área Reservada

edit sidebar

Chat Online

Enunciado

/*** Autor: Mateus Bellomo ***/

#include <cstdio>
#include <vector>
#include <utility>
#include <algorithm>
using namespace std;
typedef pair<int,int> ii;
typedef vector<ii> vii;
int p,q,l,r;
vii vp, vq;


int main(){
  scanf(" %d %d %d %d", &p, &q, &l, &r);
  for(int i = 0; i < p; i++){
    int a,b;
    scanf(" %d %d", &a, &b);
    vp.push_back(ii(a,b));
  }
  for(int i = 0; i < q; i++){
    int a,b;
    scanf(" %d %d", &a, &b);
    vq.push_back(ii(a,b));
  }
  sort(vp.begin(), vp.end());
  sort(vq.begin(), vq.end());
  int ans = 0;
  for(int t = l; t <= r; t++){
    bool flag = false;
    for(int i = 0; !flag && i < (int)vq.size(); i++){
      ii x = vq[i];
      x.first += t, x.second += t;
      for(int j = 0; !flag && j < (int)vp.size(); j++){
        if(vp[j].first > x.second || vp[j].second < x.first) continue;
        else{
          ans++;
          flag = true;
        }
      }
    }
  }

  printf("%d\n", ans);

  return 0;
}
 
/*** Autor: Iago Neves ***/

//
//  main.cpp
//  b
//
//  Created by Iago Almeida Neves on 9/20/14.
//  Copyright (c) 2014 Iago Almeida Neves. All rights reserved.
//

#include <iostream>
#include <cstring>
#include <cstdio>
#include <ctime>
#include <cmath>
#include <algorithm>
#include <cstdio>
#include <string>
#include <cctype>
#include <stack>
#include <queue>
#include <list>
#include <vector>
#include <map>
#include <sstream>
#include <bitset>
#include <utility>
#include <set>
#include <numeric>
#include <time.h>
#include <fstream>
#include <limits>
#include <iomanip>
#include <iterator>
#include <fstream>
#include <cassert>
#include <climits>
#include <cstdlib>
#include <deque>
using namespace std;
typedef vector< vector<int> > matrix;
typedef vector <pair <double,pair<int, int> > > graph;
#define INF 0x3f3f3f3f
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pp;
typedef pair <double,pair<int, int> >ppd;
const ll MOD = 1000000007;
#define REP(i,n) for (int i = 0; i < n; i++)
#define REPI(i,n) for (int i = 1; i <= n; i++)
#define REPN(i,n) for (int i = n-1; i >= 0; i--)

int v[2010];
pair<int, int> pairr[2010];

int main(int argc, const char * argv[])
{
    ios_base::sync_with_stdio(false);
    memset(v, 0, sizeof(v));
    int p,q,l,r;
    cin>>p>>q>>l>>r;
    REP(i, p)
    {
        int a,b;
        cin>>a>>b;
        for (int j=a; j<=b; j++)
        {
            v[j]=1;
        }
    }
    int ans=0;
    REP(i, q)
    {
        cin>>pairr[i].first>>pairr[i].second;
    }
    for (int j=l; j<=r; j++)
    {
        int count=0;
        REP(i, q)
        {
            int a,b;
            a=pairr[i].first;
            b=pairr[i].second;
            for (int k=a; k<=b; k++)
            {
                if (v[k+j]==1)
                {
                    count++;
                    break;
                }
            }
            if (count>0)
            {
                break;
            }
        }
        if (count>0)
        {
            ans++;
        }
        count=0;
    }
    cout<<ans<<endl;

    return 0;
}