ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Codeforces Round #489 (Div. 2) : A. Nastya and an Array
    정렬(Sort) 2018. 6. 19. 10:45
    반응형

    http://codeforces.com/contest/992/problem/A


    1. 문제

    A. Nastya and an Array

    time limit per test1 second

    memory limit per test256 megabytes

    inputstandard input

    outputstandard output


    Nastya owns too many arrays now, so she wants to delete the least important of them. However, she discovered that this array is magic! Nastya now knows that the array has the following properties:


    In one second we can add an arbitrary (possibly negative) integer to all elements of the array that are not equal to zero.

    When all elements of the array become equal to zero, the array explodes.

    Nastya is always busy, so she wants to explode the array as fast as possible. Compute the minimum time in which the array can be exploded.



    2. 알고리즘

    입력 받은 정수를 0 으로 클리어 해야 한다.

    0으로 클리어 할 최소의 정수 개수를 출력 한다.


    map 자료형에 0 이 아닌 자료형을 삽입 한다.

    후에 map 에 사이즈를 출력하면 중복되지 않은 정수의 개수가 출력 된다.


    3. 코드

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    #include <iostream>
    #include <sstream>
    #include <string>
    #include <algorithm>
    #include <functional>
    #include <vector>
    #include <list>
    #include <queue>
    #include <map>
    using namespace std;
     
    // 상 하 좌 우 
    int dy[] = { 0-110};
    int dx[] = { -1001};
     
    int main() {
        std::ios::sync_with_stdio(false); cin.tie(0);
     
        int n; cin >> n;
     
        map<intint> m;
     
        for(int i=0; i<n; i++) {
            int d; cin >> d;
            if(d != 0) {
                m[d]++;
            }
        }
     
        cout << m.size() << endl;
     
        return 0;
    }
    cs

    반응형

    댓글

Designed by Tistory.