1 条题解
-
0
C :
#include <stdio.h> #include <string.h> #define MAX 300005 int d[MAX] ; int main ( void ) { int M , S , T , i ; scanf ( "%d%d%d", &M , &S , &T ) ; memset ( d , 0 , sizeof (int) ) ; for ( i = 1 ; i <= T ; i++ ) { if ( M >= 10 ) { d[i] = d[i-1] + 60 ; M = M - 10 ; } else { d[i] = d[i-1] ; M = M + 4 ; } } for ( i = 1 ; i <= T ; i++ ) { if ( d[i] < d[i-1] + 17 ) { d[i] = d[i-1] + 17 ; } if ( d[i] >= S ) { printf ( "Yes\n" ) ; printf ( "%d\n" , i ) ; return 0 ; } } printf ( "No\n" ) ; printf ( "%d\n" , d[i-1] ) ; return 0 ; }
C++ :
#include<iostream> using namespace std; int main() { long long m,s,t; cin>>m>>s>>t; long long f[t+10];f[0]=0; for(int i=1;i<=t;++i) { if(m>9) { f[i]=f[i-1]+60; m=m-10; } else { f[i]=f[i-1]; m=m+4; } } for(int i=1;i<=t;++i) { if(f[i]<f[i-1]+17) f[i]=f[i-1]+17; if(f[i]>=s) { cout<<"Yes"<<endl; cout<<i; break; } } if(f[t]<s) { cout<<"No"<<endl; cout<<f[t]; } return 0; }
Pascal :
var k,i,l,j,m,s,t:longint; f:array[0..1000]of longint; procedure init; begin readln(m,s,t); end; begin init; j:=m; k:=0; l:=0; for i:=1 to t do begin if j>=10 then begin j:=j-10; l:=l+60; end else j:=j+4; if k+17>=l then k:=k+17 else k:=l; if k>=s then begin writeln('Yes'); writeln(i); halt; end; end; writeln('No'); writeln(k); end.
- 1
信息
- ID
- 1775
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者