• CodeForcesGym 100502K Train Passengers


    Train Passengers

    Time Limit: 1000ms
    Memory Limit: 524288KB
    This problem will be judged on CodeForcesGym. Original ID: 100502K
    64-bit integer IO format: %I64d      Java class name: (Any)

      The Nordic Company of Passing Carriages is losing money at an alarming rate because most of their trains are empty. However, on some lines the passengers are complaining that they cannot fit in the cars and have to wait for the next train! The authorities want to fix this situation. They asked their station masters to write down, for a given train, how many people left the train at their station, how many went in, and how many had to wait. Then they hired your company of highly paid consultants to assign properly sized trains to their routes.       

      You just received the measurements for a train,but before feeding them to your optimisation algorithm you remembered that they were collected on a snowy day, so any sensible station master would have preferred to stay inside their cabin and make up the numbers instead of going outside and counting. Verify your hunch by checking whether the input is inconsistent, i.e., at every time the number of people in the train did not exceed the capacity nor was below 0 and no passenger waited in vain. The train should start and finish the journey empty, in particular passengers should not wait for the train at the last station.

    Input

    The first line contains two integers C and n (2 ≤ n ≤ 100), the total capacity and the number of stations the train stops in. The next n lines contain three integers each, the number of people that left the train, entered the train, and had to stay at a station. Lines are given in the same order as the train visits each station. All integers including C are between 0 and 109 inclusive.

    Output

    One line containing one word: possible if the measurements are consistent, impossible otherwise.

    Sample Input 1

    1 2

    0 1 1

    1 0 0

    Sample Output 1

    possible


    Sample Input 2

    1 2

    1 0 0

    0 1 0

    Sample Output 2

    impossible

    Sample Input 3

    1 2

    0 1 0

    1 0 1

    Sample Output 3

    impossible


    Sample Input 4

    1 2

    0 1 1

    0 0 0

    Sample Output 4

    impossible

    解题:直接模拟就好

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 typedef long long LL;
     4 bool check(int n,int C){
     5     int left,went,wait;
     6     LL cur = 0;
     7     bool flag = true;
     8     for(int i = 0; i < n; ++i){
     9         scanf("%d %d %d",&left,&went,&wait);
    10         if(cur - left < 0) flag = false;
    11         cur += went - left;
    12         if(cur > C || cur < C && wait) flag = false;
    13     }
    14     if(cur != 0) flag = false;
    15     return flag;
    16 }
    17 int main(){
    18     int n,C;
    19     while(~scanf("%d %d",&C,&n))
    20         printf("%spossible
    ",check(n,C)?"":"im");
    21     return 0;
    22 }
    View Code
  • 相关阅读:
    Atitit. C#.net clr 2.0 4.0 4.5新特性 v2 s22 1. CLR内部结构 1 2. CLR 版本发展史 3 3. CLR 2.0新特性 4 4. CLR 4 新特性
    Hbase基本命令 悟寰轩
    mvn常用命令 悟寰轩
    linux添加tomcat服务 悟寰轩
    hadoop基本命令 悟寰轩
    Tomcat启动 悟寰轩
    Eclipse自动部署项目到Tomcat的webapps下的有效方法 悟寰轩
    MySQL改变默认编码为utf8 悟寰轩
    myeclipse关闭自动更新 悟寰轩
    Linux命令大全 悟寰轩
  • 原文地址:https://www.cnblogs.com/crackpotisback/p/4462056.html
Copyright © 2020-2023  润新知