개발자 톡

연습문제 톡 GBC

C++ 풀이입니다. 개선할 점 조언 부탁드립니다..

등록일
2025-02-09 16:06:00
조회수
33
작성자
sjkim0380

#include<iostream>

#include<vector>


using namespace std;


int main(int argc, char** argv)

{

  vector<vector<int>> std;

  vector<vector<int>> exp;

  int n, m;

  cin>>n>>m;

  for(int i=0 ; i<n; i++){

    int a, b;

    cin>>a>>b;

    vector<int> temp;

    temp.push_back(a);

    temp.push_back(b);

    std.push_back(temp);

  }

  for(int i=0 ; i<m; i++){

    int a, b;

    cin>>a>>b;

    vector<int> temp;

    temp.push_back(a);

    temp.push_back(b);

    exp.push_back(temp);

  }

  int max = 0;

  int n1 = 0;

  int m1 = 0;

  while(n1<n && m1<m){

    if(std[n1][0]>exp[m1][0]){

      std[n1][0]-=exp[m1][0];

      if(max<exp[m1][1]-std[n1][1]){max = exp[m1][1]-std[n1][1];}

      m1++;

    } else if(std[n1][0]<exp[m1][0]){

      exp[m1][0]-=std[n1][0];

      if(max<exp[m1][1]-std[n1][1]){max = exp[m1][1]-std[n1][1];}

      n1++;

    } else{

      if(max<exp[m1][1]-std[n1][1]){max = exp[m1][1]-std[n1][1];}

      m1++;

      n1++;

    }

  }

  cout<<max<<endl;

  return 0;

}

#GBC

이 카테고리의 톡 더보기