#include <stdio.h>
#include <memory.h>
#define MAXLINE 1000
int xgetline(char line[], int maxline);
void copy(char to[], char from[]);
int main(void){
int c;
int len; /*Äëèíà òåêóùåé ñòðîêè*/
int max; /*Òåêóùàÿ ìàêñèìàëüàíÿ äëèíà*/
char line[MAXLINE]; /*Òåêóùàÿ ââåäåííàÿ ñòðîêà*/
char longest[MAXLINE]; /*Ñàìàÿ äëèííàÿ ñòðîêà*/
max = 0;
while((len = xgetline(line, MAXLINE)) > 0)
if(len > max){
max = len;
copy(line, longest);
}
if(max
> 0) printf("%s", longest
);
return 0;
}
int xgetline(char s[], int lim){
int c, i;
for(i
= 0; i
< lim
-1 && (c
=getchar()) != EOF
&& c
!= '\n'; i
++) s[i] = c;
if(c == '\n'){
s[i] = '\n';
i++;
}
s[i] = '\0';
return i;
}
void copy(char from[], char to[]){
int i;
i = 0;
while((to[i] = from[i]) != '\0')
i++;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtZW1vcnkuaD4KCiNkZWZpbmUgTUFYTElORSAxMDAwCgppbnQgeGdldGxpbmUoY2hhciBsaW5lW10sIGludCBtYXhsaW5lKTsKdm9pZCBjb3B5KGNoYXIgdG9bXSwgY2hhciBmcm9tW10pOwoKaW50IG1haW4odm9pZCl7CglpbnQgYzsKICAgIGludCBsZW47CS8qw4TDq8Oow63DoCDDssOlw6rDs8O5w6XDqSDDscOyw7DDrsOqw6gqLwogICAgaW50IG1heDsJLyrDksOlw6rDs8O5w6DDvyDDrMOgw6rDscOow6zDoMOrw7zDoMOtw78gw6TDq8Oow63DoCovCiAgICBjaGFyIGxpbmVbTUFYTElORV07CQkvKsOSw6XDqsOzw7nDoMO/IMOiw6LDpcOkw6XDrcOtw6DDvyDDscOyw7DDrsOqw6AqLwogICAgY2hhciBsb25nZXN0W01BWExJTkVdOwkvKsORw6DDrMOgw78gw6TDq8Oow63DrcOgw78gw7HDssOww67DqsOgKi8KICAgIAogICAgbWF4ID0gMDsKICAgIHdoaWxlKChsZW4gPSB4Z2V0bGluZShsaW5lLCBNQVhMSU5FKSkgPiAwKQogICAgCWlmKGxlbiA+IG1heCl7CiAgICAJCW1heCA9IGxlbjsKICAgIAkJY29weShsaW5lLCBsb25nZXN0KTsKICAgIAl9CglpZihtYXggPiAwKQlwcmludGYoIiVzIiwgbG9uZ2VzdCk7CiAgICAKCXJldHVybiAwOwp9CgppbnQgeGdldGxpbmUoY2hhciBzW10sIGludCBsaW0pewoJaW50IGMsIGk7CgkKCWZvcihpID0gMDsgaSA8IGxpbS0xICYmIChjPWdldGNoYXIoKSkgIT0gRU9GICYmIGMgIT0gJ1xuJzsgaSsrKQoJCXNbaV0gPSBjOwoJaWYoYyA9PSAnXG4nKXsKCQlzW2ldID0gJ1xuJzsKCQlpKys7Cgl9CglzW2ldID0gJ1wwJzsKCXJldHVybiBpOwp9Cgp2b2lkIGNvcHkoY2hhciBmcm9tW10sIGNoYXIgdG9bXSl7CglpbnQgaTsKCQoJaSA9IDA7Cgl3aGlsZSgodG9baV0gPSBmcm9tW2ldKSAhPSAnXDAnKQoJCWkrKzsKfQ==