제출 #1024190

#제출 시각아이디문제언어결과실행 시간메모리
1024190ksu2009en자리 배치 (IOI18_seats)C++17
11 / 100
4057 ms43456 KiB
#include "seats.h"
#include <iostream>
#include <vector>
#include <string>
#include <math.h>
#include <cmath>
#include <iomanip>
#include <cstdio>
#include <algorithm>
#include <numeric>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <deque>
#include <bitset>
#include <cstring>
#include <unordered_map>

using namespace std;
typedef int ll;

vector<pair<ll, ll>> d;

void give_initial_chart(int h, int w, std::vector<int> r, std::vector<int> c) {
    for(int i = 0; i < h * w; i++)
        d.push_back({r[i], c[i]});
}

int swap_seats(int a, int b) {
    swap(d[a], d[b]);
    
    ll ans = 0;
    
    ll mn1 = (ll)(1e9), mx1 = -1, mn2 = (ll)(1e9), mx2 = -1;
    
    for(int i = 0; i < d.size(); i++){
        mn1 = min(mn1, d[i].first);
        mn2 = min(mn2, d[i].second);
        mx1 = max(mx1, d[i].first);
        mx2 = max(mx2, d[i].second);
        
        if((mx1 - mn1 + 1) * (mx2 - mn2 + 1) == i + 1)
            ans++;
    }
    
    return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

seats.cpp: In function 'int swap_seats(int, int)':
seats.cpp:37:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |     for(int i = 0; i < d.size(); i++){
      |                    ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...