답안 #467991

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
467991 2021-08-25T19:51:58 Z starplat Garage (IOI09_garage) C++14
100 / 100
2 ms 332 KB
#include <bits/stdc++.h>
using namespace std;
int m,n,ad;
long long r[105],w[2005],p,tmp,check;
bool a[105];
int aa[105];
queue<int> wa;
int main()
{
    cin>>n>>m;
    p=0;check=0;
    for (int i=1;i<=n;i++){
        scanf("%lld",&r[i]);
        a[i]=true;
        aa[i]=0;
    }
    for (int i=1;i<=m;i++) scanf("%lld",&w[i]);
    for (int i=0;i<2*m;i++){
        scanf("%d",&ad);
        if (ad>0) {
            for (int j=1;j<=n;j++){
                if (a[j]==true){
                    a[j]=false;
                    aa[j]=ad;
                    p+=r[j]*w[ad];
                    break;
                } 
                else check++;
            }
            if (check==n) wa.push(ad);
            check=0;
        }
        else if (ad<0){
            for (int j=1;j<=n;j++){
                if (aa[j]==ad*-1){
                    a[j]=true;
                    aa[j]=0;
                }
            }
            
            if (wa.empty()) continue;
            else {
                for (int j=1;j<=n;j++){
                    if (a[j]==true){
                        tmp=wa.front();
                        wa.pop();
                        a[j]=false;
                        aa[j]=tmp;
                        p+=r[j]*w[tmp];
                        break;
                    }
                }
            }
        }
    }
    cout<<p<<"\n";
    return 0;
}

Compilation message

garage.cpp: In function 'int main()':
garage.cpp:13:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |         scanf("%lld",&r[i]);
      |         ~~~~~^~~~~~~~~~~~~~
garage.cpp:17:33: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |     for (int i=1;i<=m;i++) scanf("%lld",&w[i]);
      |                            ~~~~~^~~~~~~~~~~~~~
garage.cpp:19:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |         scanf("%d",&ad);
      |         ~~~~~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 296 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 296 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 0 ms 204 KB Output is correct
10 Correct 1 ms 300 KB Output is correct
11 Correct 1 ms 204 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 204 KB Output is correct
16 Correct 1 ms 332 KB Output is correct
17 Correct 1 ms 332 KB Output is correct
18 Correct 2 ms 332 KB Output is correct
19 Correct 2 ms 332 KB Output is correct
20 Correct 2 ms 332 KB Output is correct