Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<map>
- #include<vector>
- using namespace std;
- int main()
- {
- int n,m;
- scanf("%d %d",&n,&m);
- map<vector<int> , int > mymap;
- for(int i = 1 ; i <= n ; i++){
- vector<int> temp(m);
- for(int j = 0 ; j < m ; j ++){
- scanf("%d",&temp[j]);
- }
- mymap.insert({temp,i});
- }
- vector<int> target(m);
- for(int i = 0 ; i < m ; i ++){
- scanf("%d",&target[i]);
- }
- std::map<vector <int> ,int>::iterator its = mymap.find(target) , its2;
- if(its != mymap.end()){
- printf("%d",its->second);
- return 0;
- }
- for(its = mymap.begin() ; its != mymap.end() ; advance(its,1)){
- vector<int> comp(m);
- for(int j = 0 ; j < m ; j++){
- comp[j] = target[j] - its->first[j];
- }
- if(mymap.count(comp)){
- its2 = mymap.find(comp);
- int x = its->second;
- int y = its2->second;
- if(x != y){
- if(x < y){
- printf("%d %d",x,y);
- }else{
- printf("%d %d",y,x);
- }
- //printf("%d %d",(x < y ? x : y),(x > y ? x : y));
- return 0;
- }
- }
- }
- printf("NO");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment